以编程方式将文本添加到iframe的文本区域

时间:2013-12-29 05:47:21

标签: javascript html css

我想以实用方式将文本插入到不在我页面中的文本区域。我已经通过iframe加载了一个页面,并且加载的页面有textarea。这2页的不同域名不同。我想粘贴一个文本。实际上我想添加文本无论粘贴或类型或文本区域应该出现什么文本。我可以手动点击textarea并将其聚焦,但实际插入文本我添加了一张图片以便正确理解。我不确定可能性。但如果不可能有任何替代方法来实现这一点。

这是我试过的java脚本代码

function incert_text() {
  var x = document.getElementById("myframe");
  var y = (x.contentWindow || x.contentDocument);
  if (y.document)y = y.document;
  y.document.getElementById("textarea").value="this is incerted text";
}

this pic will help to properly understand my question

3 个答案:

答案 0 :(得分:0)

iframe是否在不同的域上加载?或者是你自己的iframe?

如果是您自己的内容,您可以使用此答案 How to interact with the content of an iframe using js or jQuery

如果它不是来自您自己的域,我不相信您可以填充textarea的内容,除非该网站的所有者已启用通过URL查询或类似的东西填充该字段。

答案 1 :(得分:0)

您必须确定的一件事是,您不能只更改来自其他域的IFrame的内容。 浏览器安全性不允许这样做。

几个月前我遇到了同样的问题,我搜索了很多。事实证明,我没有找到可行的解决方案。

我在stackoverflow上发布了问题,这是问题=> Cross-Domain Iframe Drag Drop

这里可能会给你一个快速启动的一些问题是:

jQuery cross domain iframe scripting

解决此问题的方法之一就是将页面代理到您的服务器上,然后将其提供给您的框架。这是我使用的方式,但准确性较低。

答案 2 :(得分:-1)

当然,您需要在textArea上设置id,并且需要一个执行以下操作的事件处理程序:

document.getElementById("myTextArea").value = "Some new value";