2013-05-29 3 views
0

Используя JavaScript, я хочу получить содержимое файлов сценариев. Эти файлы сценариев остаются в локальном (на веб-странице).Извлечь содержимое файла JavaScript

Например. На веб-странице, есть скрипт,

<script src="tool.js"></script>

последних, я хочу, чтобы получить содержание tool.js и обрабатывать найденную результат (например, сбросить его содержимое).

Я пытался использовать jQuery.getScript. Тем не менее, он говорит мне, что Origin null не разрешен Access-Control-Allow-Origin.

+0

ли вы запустить любой веб-сервер на локальный? – WooCaSh

+0

Нет, мне просто нужно прочитать файл сценария с сайта, разработанного другими разработчиками. Другими словами, я не могу напрямую контролировать эти сценарии, но мне нужно их обработать (например, сбросить содержимое в консоли). –

ответ

0

попробовать Аякс как следующего

$.ajax('/tool.js', { 
     type: 'GET', 
     crossDomain: true, 
     dataType: 'jsonp', 
     success: function(data) { 
     console.log(data); 
     }, 
     error: function() { 
     console.log("call failed"); 
     } 
}); 
+0

Хром все еще говорит мне, что есть проблема Access-Control-Allow-Origin. –

0

попробовать использовать jquery.load() и поместить его содержимое на элемент и использовать .html()

<html> 
</head> 
    <script src="jquery.js"></script> 
    <script> 
    $(document).ready(function(){ 
     //setup ajax to work locally 
     $.ajaxSetup({ 
      crossDomain: false, 
      isLocal :true 
     }); 
     $("#a").load('jquery.js', function() { 
      alert($("#a").html()); 
     }); 
    }); 
    </script> 
</head> 
<body> 
    <span id="a" style="display:none;"></span> 
</body> 
</html> 

Browser Check: код выше работ и испытан в FF, Safari, Opera и IE

, но если вы продолжаете иметь проблема с Origin null is not allowed by Access-Control-Allow-Origin, после чего необходимо установить веб-сервер, как указано здесь; Origin null is not allowed by Access-Control-Allow-Origin

Ссылка:

http://api.jquery.com/load/

код для удаления: http://jsfiddle.net/PeaH3/1/

+0

Такая же проблема, как и предложение Ларса и метод '.getScript' –

+0

@YulongTian Пожалуйста, ответьте на мой qquestion выше вашего. – WooCaSh

+0

@Mahan Еще одна проблема. https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS –

0

Вам необходимо настроить Access-Control-Allow-Origin:

Access-Control-Allow-Origin: * 

Это позволяет вы используете любой ресурс для получения активов из внешнего домен. Сделайте это первым, и решение Махана или Ларса будет работать.

Подробнее: Access-Control-Allow-Origin Multiple Origin Domains?

+0

Я добавляю, что '' в 'head'. Однако он не может хорошо работать в Chrome. Все предложения приведут к проблеме «Access-Control-Allow-Origin». –

+0

@YulongTian вам нужно добавить его в 'httpd.conf' или' .htaccess' –

Смежные вопросы