Javascript 绕过我自己计算机上的浏览器安全限制

Javascript 绕过我自己计算机上的浏览器安全限制,javascript,security,code-access-security,Javascript,Security,Code Access Security,我正试图通过维基百科中的前缀(en,fr,es,…)创建一个语言方向列表(从左到右或从右到左。其他方向在维基百科中不存在)。为此,我编写了一个JS代码,可以在上执行,并将数据存储在变量中。代码打开每个维基百科的主页,并根据其元素的“dir”属性检查语言的方向。但是,由于每个维基百科都有不同的域,出于安全原因,浏览器不允许我访问这些数据。是否有一个浏览器可以?是否可以更改我的首选项以启用它 附:守则: var as = document.querySelectorAll('a.extiw'), p

我正试图通过维基百科中的前缀(en,fr,es,…)创建一个语言方向列表(从左到右或从右到左。其他方向在维基百科中不存在)。为此,我编写了一个JS代码,可以在上执行,并将数据存储在变量中。代码打开每个维基百科的主页,并根据其
元素的“dir”属性检查语言的方向。但是,由于每个维基百科都有不同的域,出于安全原因,浏览器不允许我访问这些数据。是否有一个浏览器可以?是否可以更改我的首选项以启用它

附:守则:

var as = document.querySelectorAll('a.extiw'), pre, win, dirByPre = {};
for each (var a in as)
   if (pre = /^http:\/\/(\w+)\.wikipedia\.org\/wiki\/$/.exec(a.href)) {
      win = open(pre[0]);
      win.onload = function () {
         opener.dirByPre[pre[1]] = document.documentElement.dir;
         close();
      };
   }

非常感谢

这是现代浏览器普遍不允许的一个原因。当允许任意JavaScript访问其他域时,存在许多安全问题。一个例子是


如果您不想在浏览器中运行脚本,那么您要做的事情会容易得多。Python、Ruby或任何其他脚本语言都可以使用单独的HTTP请求轻松地完成这项任务。如果您了解JavaScript,那么呢?

这可能是一个奇怪的解决方案,但是您可以编写一个允许您进行跨域请求的浏览器扩展。有一些简单的方法可以开发扩展,例如Crossrider,它有一个允许您通过Javascript进行跨域请求的扩展。

您遇到的是访问控制允许源错误。请仔细阅读

一般来说,如果您想访问另一个页面的数据以便在JS中使用,您需要在自己的服务器上进行访问并将其传递给Javascript

然而,在这种情况下,最好的解决方案是通过其API访问Wikipedia并请求JSONP响应。记住,维基百科是建立在MediaWiki上的,所以请查看其API文档

注意“format=json”和“callback=?”

这种JSONP方法适用于所有现代浏览器

title = "List_of_Wikipedias"; 

$.getJSON("http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles="+title+"&format=json&callback=?", function(data) {
    console.log(data);
})