基本上,当我在 Chrome 控制台中运行此脚本时,我想获取当前 url,打开一个新选项卡,并将其设置为文本框的值。
javascript:(function(){
var url=location.href;
var newtab=window.open('http://www.theyoump3.com/');
newtab.document.getElementsByName('url')[0].value=url;
})();
当我运行命令时,我在控制台中收到异常:
未捕获的 DOMException:阻止了具有原点的框架
”https://www.youtube.com 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 指向相同的起源
如果您的起点与http://www.theyoump3.com/
,您将无法执行此操作,因为您在控制台中运行的 JavaScript 代码在控制台所附加到的页面的上下文和源中运行。
If you are从该来源的页面执行此操作,您只需等待load
event:
javascript:(function(){
var url=location.href;
var newtab=window.open('http://www.theyoump3.com/');
newtab.addEventListener("load", function() {
newtab.document.getElementsByName('url')[0].value=url;
});
})();
但再次强调:只有当你从那个起源开始时,我猜你不是。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)