同源政策 我想制作一个关于HTML / JS 同源政策的社区维基,希望能帮助任何人搜索这个主题。 这是SO上搜索次数最多的主题之一,没有统一的wiki,所以我去:) 相同的源策略可防止从一个源加载的文档或脚本从另一个源获取或设置文档的属性。 此政策可以追溯到Netscape Navigator 2.0。 您最喜欢采用同源政策的方式有哪些? 请保持示例详细,最好还链接您的来源。
我收到错误(XMLHttpRequest cannot load https:// www.cloudflare.com/api_json.html?tkn=&email=&z=&a=rec_load_all&callback=%3F. Origin http:// domainmanager.tech-bytes.org is not allowed by Access-Control-Allow-Origin.)尝试通过jQuery向JFSP请求发送JSONP请求时, (XMLHttpRequest cannot load https:// www.cloudflare.com/api_json.html?tkn=&email=&z=&a=rec_load_all&callback=%3F. Origin http:// domainmanager.tech-bytes.org is not allowed by Access-Control-Allow-Origin.) (由于Stack Overflow链接限制在URL中插入的空格)。 CloudFlare API声明您可以通过附加&callback=mycallback参数来请求JSONP回调 。 我不确定我是否应该用某些东西替换mycallback,我尝试用它替换它? 因为这是其他一些资源所说的,或者我必须对我的代码做一些其他修改。
我知道jQuery .load()函数有一个“问题”:由于同源策略 ,你无法检索当前域之外的页面,但我记得当我开发另一个我可以做的程序时在PhoneGap编译环境中,跨域AJAX没有问题,但是它会在PhoneGap(如普通的AJAX)上工作,还是因为策略而失败?
无论如何我可以欺骗Jquery .load同源策略? 我最接近的是本教程 。 但这只涉及rss feed。
除了JSONP,为什么要遵循相同的域策略?
我已经在SO上阅读了其他相同的原始策略主题,但我还没有看到任何与本地文件系统相关的解决方案。 我有一个网络应用程序(在一个松散的意义上),必须在本地服务。 我试图在用户加载页面后加载大量数据,具体取决于他们在网页上做了什么。 在Firefox 3.5和IE8中,我可以使用jQuery的AJAX()和GetScript()方法来执行此操作,但在Chrome中,由于同源策略而失败。 XMLHttpRequest无法加载file://test/testdir/test.js 。 by Access-Control-Allow-Origin不允许by Access-Control-Allow-Origin null 。 这种情况发生在我做一些简单的事情时 $.getScript(“test.js”); 这在IE和Firefox中运行良好。 在读了一堆关于这个之后,我决定尝试直接写入文档的头部。 在Chrome的控制台中,我输入了以下内容: var head = document.getElementsByTagName(“head”)[0]; var script =document.createElement(‘script’); script.id = ‘uploadScript’; script.type = ‘text/javascript’; script.src = “upload.js”; head.appendChild(script); 这在粘贴到<script…test.js时工作正常 – 将<script…test.js元素添加到头部,评估并将内容加载到DOM中。 我认为这是成功的,直到我将此代码放入函数调用。 从函数调用时,相同的确切代码会将元素添加到但不会评估JavaScript文件。 我无法弄清楚为什么。 如果我使用Chrome的控制台停止在将元素添加到并运行上述代码的方法中执行,则不会对其进行评估。 但是,如果我取消暂停执行并运行完全相同的代码(在控制台窗口中粘贴它),它就可以工作。 我无法解释这一点。 以前有人处理过这个吗? 我已经阅读了以下SOpost,但他们没有描述我的问题: 如何规避同源政策 不支持XMLHttpRequest Origin null文件的Access-Control-Allow-Origin:///到file:///(无服务器) 跨站点XMLHttpRequest 同样,我的最后一招是在网页加载时加载所有数据 – 这可能导致加载网页的延迟最多10秒,这对90%的应用用户来说是不必要的。 感谢您的任何建议/替代方案!