【发布时间】:2017-08-04 21:56:24
【问题描述】:
基本上,当我在 Chrome 控制台中运行此脚本时,我想获取当前 url,打开一个新选项卡,并将其设置为文本框的值。
javascript:(function(){
var url=location.href;
var newtab=window.open('http://www.theyoump3.com/');
newtab.document.getElementsByName('url')[0].value=url;
})();
当我运行命令时,控制台出现异常:
Uncaught DOMException: Blocked a frame with origin “https://www.youtube.com”访问跨域框架。
理解,CORS 问题。有解决方法吗?该站点不支持传递 url 参数。
通过 iframe 尝试时会出现同样的问题
var f=document.createElement('iframe');
f.src='https://www.youtube.com/watch?v=4J2zo7ArHnw';
f.style="position:absolute;width:400px;height:400px;z-index:99999;border:2px solid black";
document.body.appendChild(f);
当然可以,然后 src 指向同一个原点
【问题讨论】:
-
问题是跨域的,正如它所解释的stackoverflow.com/a/23927967/2894798,它阻止了从一个域到另一个域的请求。
-
是的,它的 CORS,我想知道是否有任何解决方法?
-
您是否正在尝试编写扩展程序? (你应该吗?)
-
一个书签,但如果编写扩展程序可行,那么我可以做一个扩展程序,但我不确定解决 CORS 问题的区别是什么