我想从文档中获取给定文本并将其复制到弹出窗口(window.open),其中包含由服务器端后端(在本例中为 rails)生成的表单,此表单是从不同的当前文档的域,包含要复制的文本。此文本将显示在表单中(由用户查看),然后通过 POST 表单操作提交到服务器。
我最初想使用 document.write() 但这不可能,因为弹出页面将从不同的域加载。
由于字符的限制,在这种情况下查询字符串将无济于事。还有其他选择吗?
我想从文档中获取给定文本并将其复制到弹出窗口(window.open),其中包含由服务器端后端(在本例中为 rails)生成的表单,此表单是从不同的当前文档的域,包含要复制的文本。此文本将显示在表单中(由用户查看),然后通过 POST 表单操作提交到服务器。
我最初想使用 document.write() 但这不可能,因为弹出页面将从不同的域加载。
由于字符的限制,在这种情况下查询字符串将无济于事。还有其他选择吗?
大多数现代浏览器都支持window.postMessage,您可以在其中将信息传递到新窗口。
如果您使用的是旧版浏览器,最好的办法是向该域的页面发布一个包含内容的表单,该服务器将读取发布的数据并填写表单。
您最好的选择可能是在弹出窗口中有一个脚本调用来自另一个屏幕的文本。而不是尝试将其传递给弹出窗口。
对主页使用 ajax 调用并获取文本字段的文本,并在获取时更新文本字段。
我认为您应该使用零剪贴板导轨。请参阅github 上的 zero-clipboard-rails。
如果您可以编辑在新窗口中加载的页面,那么您可以使用 JavaScript 执行此操作。在打开新窗口之前,将复制的文本设置为父窗口中的变量。
var copiedText = 'text to be copied'; //e.g. $('#some-textarea').val()
然后加载新页面。在新页面中添加对“opener”窗口变量的调用,使用
opener.copiedText
并使用它来填充表单元素。