Может ли клиент ссылаться на мой JavaScript, размещенный в другом домене? - PullRequest
1 голос
/ 26 марта 2010

Могу ли я предоставить клиенту фрагмент HTML-кода, который содержит ссылку на файл JavaScript, который я размещаю? Они хотят вставить этот HTML-код в свою CMS, чтобы при загрузке их страницы он загружал наш контент.

У меня сложилось впечатление, что междоменная безопасность не позволяла сделать это возможным.

Что делать, если вместо ссылки на JavaScript я дал им фрагмент HTML с уже включенным JavaScript

так вместо

<div>
    <!-- link to js -->
</div>

Я дал им

<div>
    $.get(/*url to my content*/);
</div>

Будет ли это работать?

Ответы [ 4 ]

1 голос
/ 26 марта 2010

Теги HTML <script> не подлежат той же политике происхождения, поэтому, если ваш клиент ссылается на ваш файл JavaScript с тегами <script>, у вас не возникнет никаких проблем. ( Источник )

1 голос
/ 26 марта 2010

Вы можете использовать JSONP для имитации междоменных вызовов AJAX (работает только с GET-запросами, поскольку внутренне использует тег script):

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
    function(data) {
        $.each(data.items, function(i,item) {
            $("<img/>").attr("src", item.media.m).appendTo("#images");
            if ( i == 3 ) return false;
        });
    }
);
1 голос
/ 26 марта 2010

Могу ли я предоставить клиенту фрагмент HTML-кода, который содержит ссылку на файл JavaScript, который я размещаю?

Да. У src элементов скрипта нет тех же исходных ограничений.

$.get(/*url to my content*/);

XMLHttpRequests по-прежнему имеют те же пределы происхождения. XHR может получать данные только из домена страницы , а не из сценария.

0 голосов
/ 26 марта 2010

Ссылка на файл javascript из другого домена не является проблемой. Это не межсайтовый скриптинг, это просто межсайтовый HTTP-запрос. Это часто используется, например, от Google API Loader.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...