Javascript 获取<;脚本>;内容作为字符串

Javascript 获取<;脚本>;内容作为字符串,javascript,jquery,html,Javascript,Jquery,Html,我尝试按需使用Javascript来覆盖跨域问题 现在我的页面上有这样的内容: <script id="scr1" src="{some other domain url}"></script> 我想以某种方式将此内容获取为字符串,以便对其进行求值。 我希望我有一些JS/JQuery方法,比如 var v = eval($("#scr1").getContent()); 你能帮我吗 注意:我不能使用ajax作为解决方案。您应该查找JSONP。您希望脚本返回的是以数据

我尝试按需使用Javascript来覆盖跨域问题

现在我的页面上有这样的内容:

<script id="scr1" src="{some other domain url}"></script>
我想以某种方式将此内容获取为字符串,以便对其进行求值。
我希望我有一些JS/JQuery方法,比如

var v = eval($("#scr1").getContent());
你能帮我吗


注意:我不能使用ajax作为解决方案。

您应该查找JSONP。您希望脚本返回的是以数据作为参数的回调调用

<script id="scr1" src="http://www.example.com/some/action?callback=cb" type="text/javascript></script>
然后在页面中,需要一个名为
cb
的函数,该函数需要一个数组

function cb(data) {
  // do something with the array
}
当然,这需要服务器的合作来理解回调参数并做出适当的响应。如果你控制服务器,这是很容易做到的。如果没有,那么您将需要使用构造为返回JSONP的API。
回调
参数是此类框架的标准名称。如果他们没有API,那么您需要在服务器上代理请求,在这种情况下,您可以使用标准JSON

对于希望返回JSONP的API来说,jQuery使这变得非常容易

$.getJSON( 'http://example.com/api/method?callback=?', data, function(result) {
     // do something with the json result
});

您也可以将其用于post/get/ajax方法,但更简单。请注意,包含callback参数会自动告诉它使用JSONP(脚本)请求,并自动填充它创建的回调的名称,以便在请求中封装(匿名)回调函数。

应该可以使用jquery.getScript

$.getScript('urlOfRemoveScript',function(script){
    var v = eval(script);
});

但是,不是100%确定这会起作用。

因此,如果有人真的需要找到阅读每个脚本内容的方法,这里是我的贡献


  jQuery("script").each(function(){
    var scriptContent = this.innerText
    // do something with scriptContent
  })

脚本标记将自动运行。你可以试试,这是AJAX间接的。是的,我也推荐这个。尽量不要使用Eval。这可能会更好,因为内容只是需要检索,而不是执行。我真的不明白为什么投票被否决,不分享投票被否决的原因。因为你没有读这个问题。他们从未在脚本中要求内部数据,他们希望JS文件的内容在src=“”
$.getScript('urlOfRemoveScript',function(script){
    var v = eval(script);
});

  jQuery("script").each(function(){
    var scriptContent = this.innerText
    // do something with scriptContent
  })