سؤال

function publish(text) {
 $('#helpdiv').prepend(text);
}

function get_help(topic) {
  $.get(topic, publish);
}

<p>Hi. <a href="#" onclick="get_help('inline-help.html'); return false;">click here for more help.</a></p>
<div id="helpdiv"></div>

لقد ورثت هذه الجزء من HTML و JavaScript أعلاه (مقتطف). إنه/كان سيتم استخدامه كمساعدة محلية. حاليا هو على الإنترنت فقط وهو يعمل بشكل جيد. ومع ذلك ، عندما أقوم بنسخ الملفات محليًا ، أحصل على "إذن تم رفضه" في Internet Explorer وفي Chrome لا يفعل أي شيء عندما "انقر هنا للحصول على مزيد من المساعدة". ما يفترض أن يفعله هو تحميل محتوى المساعدة من مضمّنة help.html وعرضه في Depdiv Div. الآن إليك كيكر ، إذا أخذت نفس الملفات ونسختها إلى inetpub على جهاز الكمبيوتر الخاص بي وتحميلها كـ http: //localhost/hello.html يعمل تماما.

من المفترض أن هذا شيء أمان حيث لا تسمح لي المنطقة "المحلية" بتحميل الملفات من HD للمستخدم؟ لكنني لست متأكدًا حقًا مما يحدث وأرغب في فهم هذه المشكلة بشكل أكبر وربما توصل إلى حل بديل.

أي نظرة ثاقبة موضع تقدير كبير.

هل كانت مفيدة؟

المحلول

يستخدم "Get" JQuery XMLHTTPrequest ، والذي لا يعمل على الملفات المحلية ، للأسف. إذا كنت بحاجة حقًا إلى أن تكون قادرًا على جلب البيانات المحلية (أو البيانات من مجال مختلف) بشكل غير متزامن ، فيجب عليك استخدام علامات البرنامج النصي الديناميكية. ومع ذلك ، فهذا يعني أن ملف البيانات يجب إعادة تنسيقه كبيانات JSON.

نصائح أخرى

لا أعتقد أن متصفحك يسمح لك بتشغيل JavaScript محليًا (باستخدام file:/// طريقة الوصول). ولكن عند تحميله من http://localhost/ أنه يعمل بشكل جيد.

تحتاج إلى تطوير إما على موقع ويب ، أو استخدام خادم المضيف المحلي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top