Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在子弹出窗口中设置字段_Javascript_Html_Popup - Fatal编程技术网

Javascript 在子弹出窗口中设置字段

Javascript 在子弹出窗口中设置字段,javascript,html,popup,Javascript,Html,Popup,我正在尝试用一些javascript创建一个html页面。javascript打开一个子弹出窗口并尝试填充该页面中的一个字段。这是我得到的代码: //creates a new popUp function openRequestedPopup(url,name,top,left) { return window.open(url, name, "width=640, height=640"+", top="+top+", left="+left); } //setting field in

我正在尝试用一些javascript创建一个html页面。javascript打开一个子弹出窗口并尝试填充该页面中的一个字段。这是我得到的代码:

//creates a new popUp
function openRequestedPopup(url,name,top,left) {
return window.open(url, name, "width=640, height=640"+", top="+top+", left="+left);
}

//setting field in child popup
function setTextInputField(popUp,id,text){
var el=popUp.document.getElementById(id);
el.setRangeText(text);
}

x=openRequestedPopup("https://www.facebook.com/","1",0,0);
setTextInputField(x,"email","lalalalala");
但我得到了一个错误:

SecurityError: Blocked a frame with origin "null" from accessing a cross-origin frame.
code: 18
message: "Blocked a frame with origin "null" from accessing a cross-origin frame."
name: "SecurityError"
stack: "Error: Blocked a frame with origin "null" from accessing a cross-origin frame.↵         at Error (native)↵    at <anonymous>:2:10↵    at Object.InjectedScript._evaluateOn (<anonymous>:668:39)↵    at Object.InjectedScript._evaluateAndWrap (<anonymous>:607:52)↵    at Object.InjectedScript.evaluate (<anonymous>:519:21)"
__proto__: DOMException
SecurityError:阻止原点为“null”的帧访问跨原点帧。
代码:18
消息:“阻止原点为“null”的帧访问跨原点帧。”
名称:“SecurityError”
堆栈:“错误:阻止原点为“null”的帧访问跨原点帧。↵         错误(本机)↵    两点十分↵    在Object.InjectedScript.\u evaluateOn(:668:39)↵    在Object.InjectedScript.\u evaluateAndWrap(:607:52)↵    在Object.InjectedScript.evaluate(:519:21)
__proto_uu;:DomeException
我理解不是每个人都应该被允许从其他页面获取元素。但我不明白为什么不允许我获取该元素,因为它是我的子页面/弹出窗口。这有工作区吗


提前感谢

请考虑您登录facebook时可以查看的所有敏感数据。现在想象一下,你在当前会话中登录到facebook,然后你进入某个随机网站,该网站会打开一个指向facebook的弹出窗口,并且可以完全访问和控制该弹出窗口。他们现在可以用你的facebook帐户和其中的任何数据做任何事情。这就是为什么浏览器中存在跨源安全性。嗯,我明白了,所以我不能使用javascript和弹出窗口登录facebook?不,我不这么认为。我恐怕:(,你知道是否可能有一个父页面和多个子弹出窗口。每个弹出窗口登录到不同的facebook帐户?(因此,当我登录到popup 1时,我仍然可以使用不同的凭据登录到popup 2)问题是,您需要每个弹出窗口与facebook进行不同的会话,这需要每个窗口中有不同的cookie。因为cookie的范围是浏览器范围(除了chrome中的'incognito'模式,尽管你不能告诉chrome从JS中以incognito打开一个新窗口),这是不可能的。