Может ли JavaScript получить доступ к исходному коду - PullRequest
9 голосов
/ 01 февраля 2011
<script id="s1" src="foo.js"></script>
<script>
    alert('foo.js contains' + _source_code_of('s1'))
</script>

Можно ли реализовать _source_code_of?

Ответы [ 2 ]

10 голосов
/ 01 февраля 2011

Нет, это позволит получить содержимое любого URL-адреса, что нарушит некоторые политики безопасности. (Это было бы эквивалентно запросу получения ajax без проверки того же домена.)

Однако, поскольку foo.js находится в том же домене, что и страница, вы можете получить его с помощью запроса ajax. Пример с jQuery:

$.get('foo.js', function(source_code) {
    alert('foo.js contains ' + source_code);
});
1 голос
/ 01 февраля 2011

Нет, не напрямую по фундаментальным соображениям безопасности.

Тот факт, что вы пометили это с помощью Ajax, означает, что вы пытаетесь использовать это как способ получения данных. Если это так, то наиболее близким аналогичным подходом является JSONP, в котором вновь загруженный скрипт вызывает метод для передачи данных обратно в родительский документ.

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