将文本从当前文档复制到新window.open(“otherdomainURL”)

时间:2012-05-23 23:37:15

标签: javascript jquery ruby-on-rails

我想从文档中获取给定文本并将其复制到弹出窗口(window.open),该窗口包含由服务器端后端生成的表单(在这种情况下为rails)此表单已加载来自不同域的本文档,包含要复制的文本。此文本将以表单形式显示(由用户审核),然后通过POST表单操作提交给服务器。

我最初想使用document.write(),但这不可能,因为弹出页面将从其他域加载。

由于chars的限制,在这种情况下查询字符串无济于事。还有其他选择吗?

4 个答案:

答案 0 :(得分:1)

大多数现代浏览器支持window.postMessage,您可以将信息传递到新窗口。

如果您使用的是较旧的浏览器,最好的办法是将表单发布到该域名的内容页面,该服务器将读取发布的数据并填写表单。

答案 1 :(得分:0)

你最好的选择可能是在弹出窗口中有一个脚本来调用另一个屏幕上的文本。而不是尝试将其传递给弹出窗口。

对主页面使用ajax调用并获取文本字段的文本,并在获取时更新文本字段。

答案 2 :(得分:0)

我认为你应该使用零剪贴板轨道。请参阅zero-clipboard-rails on github

答案 3 :(得分:-1)

如果您可以编辑在新窗口中加载的页面,那么您可以使用JavaScript执行此操作。在打开新窗口之前,将复制的文本设置为父窗口中的变量。

var copiedText = 'text to be copied';  //e.g. $('#some-textarea').val()

然后加载新页面。在新页面内,使用

添加对'opener'窗口变量的调用
opener.copiedText

并使用它来填充表单元素。