草庐IT

Cross-domain

全部标签

javascript - 如何在 iframe 中调用父窗口 JavaScript 函数

这是我在http://my-localhost.com/iframe-test.html上的代码WelcomeIframeTestfunctionalertMyMessage(msg){alert(msg);}这是http://www.my-website.com/index.html上的代码WelcometomyServerWelcometoMyServerClickHere当我单击“单击此处”链接时。我收到以下错误。UncaughtSecurityError:Blockedaframewithorigin"http://www.my-website.com"fromaccessin

javascript - Chrome 上 window.postMessage 的问题

我已经坚持了几个小时。我在http://example.com上有一个.html包含带有src的iframeb.htmlhttp://subdomain.example.com.a.html有一些JS代码将消息发布到iframe。postMessage的代码很简单:iframe_window.postMessage('message',iframe_element.src)但这样一来,Chrome就会抛出一个错误:Unabletopostmessagetohttp://subdomain.example.com.Recipienthasoriginnull.我也试过:iframe_wi

javascript - Chrome 上 window.postMessage 的问题

我已经坚持了几个小时。我在http://example.com上有一个.html包含带有src的iframeb.htmlhttp://subdomain.example.com.a.html有一些JS代码将消息发布到iframe。postMessage的代码很简单:iframe_window.postMessage('message',iframe_element.src)但这样一来,Chrome就会抛出一个错误:Unabletopostmessagetohttp://subdomain.example.com.Recipienthasoriginnull.我也试过:iframe_wi

从另一台服务器下载时,HTML5 下载属性不起作用,即使 Access-Control-Allow-Origin 设置为全部 (*)

我有一个像这样的下载链接:Foobar这在同一台服务器上下载文件时工作正常,但当从另一台服务器(在本例中为Azureblob存储)下载时,文件名保持为“foo.xls”,即使HTTP响应返回时带有以下header:Access-Control-Allow-Origin:*这是设计使然,还是我可以将另一个header添加到HTTP响应以使其正常工作? 最佳答案 是的,根据设计,CORSheader对download属性没有影响。只有两种浏览器支持download属性,即Firefox和Chrome,并且这两种浏览器对跨源文件的策略不同

从另一台服务器下载时,HTML5 下载属性不起作用,即使 Access-Control-Allow-Origin 设置为全部 (*)

我有一个像这样的下载链接:Foobar这在同一台服务器上下载文件时工作正常,但当从另一台服务器(在本例中为Azureblob存储)下载时,文件名保持为“foo.xls”,即使HTTP响应返回时带有以下header:Access-Control-Allow-Origin:*这是设计使然,还是我可以将另一个header添加到HTTP响应以使其正常工作? 最佳答案 是的,根据设计,CORSheader对download属性没有影响。只有两种浏览器支持download属性,即Firefox和Chrome,并且这两种浏览器对跨源文件的策略不同

html - CORS withCredentials XHR 预检不在 Firefox 中发布 Cookie

我正在尝试使用凭据进行CORSXHR发布。它在Chrome中运行良好,但在Firefox中运行不佳。cookie不存在于飞行前请求header中,因此我看到了302。这在Chrome中完美运行,因为cookie位于飞行前请求header中,随后的POST通过。为什么这在FF中不起作用?我错过了什么?//assumeurl,boundEventHandleranduploadDataaredefined,asthisdefinitelyworksinChromevarxhr=newXMLHttpRequest();xhr.open("POST",url,true);xhr.addEven

html - CORS withCredentials XHR 预检不在 Firefox 中发布 Cookie

我正在尝试使用凭据进行CORSXHR发布。它在Chrome中运行良好,但在Firefox中运行不佳。cookie不存在于飞行前请求header中,因此我看到了302。这在Chrome中完美运行,因为cookie位于飞行前请求header中,随后的POST通过。为什么这在FF中不起作用?我错过了什么?//assumeurl,boundEventHandleranduploadDataaredefined,asthisdefinitelyworksinChromevarxhr=newXMLHttpRequest();xhr.open("POST",url,true);xhr.addEven

javascript - 为什么使用 HTMLObjectElement 动态生成 SVG 会导致跨源错误?

考虑以下JavaScript片段:constapp=document.getElementById('root');constsvg=`{console.log(obj.contentDocument.querySelector('svg'));},1500);(有关完整示例,请参阅thisJSFiddle)运行时,控制台(GoogleChrome)中会出现以下错误:UncaughtDOMException:Failedtoreadthe'contentDocument'propertyfrom'HTMLObjectElement':Blockedaframewithorigin"ht

javascript - 为什么使用 HTMLObjectElement 动态生成 SVG 会导致跨源错误?

考虑以下JavaScript片段:constapp=document.getElementById('root');constsvg=`{console.log(obj.contentDocument.querySelector('svg'));},1500);(有关完整示例,请参阅thisJSFiddle)运行时,控制台(GoogleChrome)中会出现以下错误:UncaughtDOMException:Failedtoreadthe'contentDocument'propertyfrom'HTMLObjectElement':Blockedaframewithorigin"ht

javascript - 检测iframe是否跨域的万无一失的方法

我正在尝试确定任何iframe是否跨域。根据这个问题中接受的答案:Detectwheniframeiscross-domain,thenbustoutofit它说将访问iframe的contentDocument的代码放在try/catchblock中。我在Chrome中尝试了跨域iframe:try{document.getElementsByTagName('iframe')[0].contentDocument;}catch(err){console.log("called");}它仍然抛出跨域错误并且没有捕获错误。我还尝试检查父页面url的协议(protocol)+主机+端口是