gpt4 book ai didi

Javascript 书签从一个页面获取信息并将其提交到另一页上的表单

转载 作者:行者123 更新时间:2023-11-30 06:48:47 25 4
gpt4 key购买 nike

既然我在这里发现我无法在一个页面内编写 JavaScript 以在另一个外部页面上输入表单数据,我想改为使用基于浏览器的书签来完成此操作。

我可以使用这个书签代码片段访问原始页面上的数据:

javascript:var%20thecode=document.myForm.myTextArea.value;

如果我在浏览器中手动打开基于 Web 的外部表单,此代码会更改文本框中的内容:

javascript:void(document.externalForm.externalTextArea.value="HELLO WORLD"));

此小书签代码将打开一个带有外部表单的新浏览器窗口:

javascript:newWindow=window.open("http://www.url.com","newWindow");if(window.focus){void(newWindow.focus());}

但是,当我尝试将这些片段放在一个小书签中以在新窗口中打开外部表单并更改其中的数据时,我无法访问 newWindow 中的任何元素。例如,这对检查新窗口中文本区域的现有值不起作用

javascript:var%20newWindow=window.open("http://www.url.com","newWindow");if(window.focus){void(newWindow.focus());}window.alert(newWindow.document.externalForm.externalTextArea.value);

一旦我使用小书签代码将新窗口打开为 newWindow,我似乎无法访问该新窗口中的元素。有什么建议我想念的吗?谢谢。

最佳答案

那是因为小书签在当前网页的沙箱(环境)中运行。由于您不允许访问另一个没有相同协议(protocol)、域名和端口的页面(的 DOM),因此您无法访问 document 属性newWindow 当协议(protocol)、域和端口不匹配时。顺便说一句,访问页面上的 iframe 也是如此。

当您谈论“外部形式”时,我想您不会停留在同一个域中。其他示例检索或操作当前页面上的数据(当时)并且不会出错。

另见 Same origin policy .

更新:关于 D​​elicious(等)书签:它的代码实际上是这样的:

(function () {
f = 'http://delicious.com/save?url=' + encodeURIComponent(window.location.href) + '&title=' + encodeURIComponent(document.title) + '&v=5&';
a = function () {
if (!window.open(f + 'noui=1&jump=doclose', 'deliciousuiv5', 'location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=550'))
location.href = f + 'jump=yes'
};
if (/Firefox/.test(navigator.userAgent)) {
setTimeout(a, 0)
} else {
a()
}
})()

所以,是的,参数仅使用 GET 请求传输。

关于Javascript 书签从一个页面获取信息并将其提交到另一页上的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3348227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com