如何获取外部加载的脚本标记的内容?

时间:2015-03-11 18:05:01

标签: javascript ajax xml cross-domain

我希望有一个bookmarklet从外部XML文件中检索数据。我认为我可以将其下载为脚本标记(类似于描述here),然后使用普通的DOM方法遍历脚本标记的innerHTML。但是当我得到剧本

fonts = document.createElement("script");
fonts.src = "http://www.myExternal/resource/fonts.xml";
fonts.id = "fontXML";
console.log(fonts.innerHTML) //"" (nothing)

我没有得到任何innerHTML。无论如何我可以使用这个策略(或其他任何东西)去做我想要完成的事情吗?

1 个答案:

答案 0 :(得分:0)

浏览器不允许像这样浏览脚本内容。所以基本上你面临着标准的CORS问题。

  1. 如果外部资源可以使用JSONP回答,则在脚本标记中使用它。
  2. 如果在资源上设置了适当的Allow-Origin标头,只需使用AJAX。
  3. 如果它既不能也无法访问资源代码来修复它,那么我能想象的唯一选择是创建自己的代理并设置CORS头或提供JSONP API
相关问题