سؤال

حاليا أنا الاعتماد على وكيل النصي للتعامل مع هذه المشكلة من أصل واحد السياسات.أنها بطيئة ، ويخلق النفقات العامة.ناهيك عن جافا سكريبت ليست المقدمة.

هل هناك عمل بديلة في الخارج ؟

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

المحلول

يا عزيزي, أعتقد أن الحل الذي تبحث عنه مع نوافذ الأطر المدمجة.ومع ذلك iframe النهج العقلي و التقنية المهمة.أقترح عليك أن تبدأ مع هذا الدليل:

عبر المجال التواصل مع نوافذ الأطر المدمجة

النهج البديل هو الحصول على البيانات من ملقم آخر بشكل غير متزامن باستخدام علامات البرنامج النصي سلمان:

<script src="http://remotesite.com/path/to/script/blah.js"></script>

يمكنك إنشاء برنامج نصي جديد الوسم عنصر لتمرير وتحميل البيانات و إلحاق دوم أو إدراج العلامات إلى عناصر innerHTML.

أنا متأكد من أنك يمكن أن تجد بعض الأمثلة التفصيلية وطرق تنفيذها ولكن شيء واحد يجب أن نأخذ مسار مع السيناريو الجديد طريقة إضافة العديد من tot انه دوم.هذا قد يساعد في توفير نقطة انطلاق بالنسبة لك:

function require (url, callback) {
    if (!isScriptLoaded(url)) { 
        document.write('<script src="' + url + '" type="text/javascript" charset="utf-8"><\/script>');

        if (callback) {
            callback();
        }
    }
}

function isScriptLoaded(src) {
    var scriptsLoaded =  {};
    var scriptTags    = document.getElementsByTagName("script");

    for (var i = 0, script; script = scriptTags[i]; i++) {
        if (script.src) { 
            scriptsLoaded[script.src] = 1;
        }
    };

    if (scriptsLoaded[src]) {
        return true; 
    }

    return false;
}

(لم تختبر ، ولكن يجب أن عمل!)

وفي كلتا الحالتين - حظا سعيدا.

نصائح أخرى

إذا كنت تستطيع توفير اسم الاستدعاء كمعلمة إلى خدمة توفير شفرة جافا سكريبت في السؤال، ثم يمكنك إلحاق علامة النصي إلى المستند، مع سمة src مشيرا إلى خدمة الدعوة. خلاف ذلك، وكنت من الحظ.

استخدم إطار iframe ومحاولة window.postMessage(message, origin) (سيكون من parent.postMessage من الإطار من وiframeElement.contentWindow.postMessage من أعلى الصفحة) لجميع من أحدث المتصفحات الرئيسية (فايرفوكس، IE، سفاري، والكروم، الخ) وتغيير / window.name الاقتراع لالقديم المتصفحات.

وJSON-P هي الى حد كبير مثالية لهذا النوع من الشيء. إذا كنت تستخدم مسج، أو مكتبات جافا سكريبت مماثلة، ويتم عملك أكثر سهولة:

http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback

وبطبيعة الحال، فإنه سيعتمد على بالضبط ما تحاول القيام به هو الذي سيحدد ما إذا كان استخدام JSON-P، نوافذ الأطر المدمجة خفية، postMessage، وكلاء فلاش، أو أي حل الغريبة الأخرى.

إذا كنت السيطرة على كل المجالات ونهتم فقط فايرفوكس 3.5+، يمكنك استخدام كائن مدعوم وإعداد أذونات مع <لأ href = "https://developer.mozilla.org/En/HTTP_access_control" يختلط = "نوفولو noreferrer "> التحكم في الوصول .

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