【发布时间】:2012-08-20 08:00:48
【问题描述】:
我正在尝试在 iframe 中加载 iframe.html,并将该 iframe 从我的 chrome 扩展程序附加到当前页面的 DOM 中。我已经这样做了,我能够处理点击事件,获取框架元素值(输入,选择框)。到这里为止一切都很好。现在的问题是,一旦将 iframe.html 中的内容插入 DOM,我就无法修改它(更具体地说,我在 iframe.html [附加到 DOM] 中有一个输入框,其值为“XXXX”,现在我想在用户单击我的扩展程序的上下文菜单时将其更改为“YYYY”)。
我尝试通过使用获取输入框值
$('#iframe_id').contents().find('input#input_id').val('YYYY')
(or)
window.frames['iframe_id'].document.getElementId('input_id').value
在我的 content.js 中,但没有帮助。
console.log($('#iframe_id'))
在控制台中打印 iframe 对象但无法获取 iframe 文档内容。这是获取/修改由 chrome 扩展插入的 iframe 内容的正确方法吗?还是我在 chrome.* API 中遗漏了一些东西
任何有关如何解决此问题的指示都会更有帮助。
TIA, 贾加迪什
【问题讨论】:
-
为什么要使用 iframe?根据给定的信息,这似乎使您的解决方案复杂化。
-
你会建议我做什么?关于这个的一些指示
-
您试图在 iframe 中提取的内容是什么?也许您可以通过另一种方式获取数据。处理 iframe 总是很痛苦。
-
我有一些输入字段。当用户单击我的扩展程序的上下文菜单时,我需要读取这些值并对其进行修改。
-
是的。你需要做更多的工作才能让样式按照你的意愿工作,但我相信从长远来看这是更好的方法。
标签: google-chrome google-chrome-extension