【发布时间】:2012-07-04 17:47:04
【问题描述】:
我正在做一个插件来对界面进行一些转换。我不断收到unsafe javascript attempt to access frame with url.... Domains, protocols and ports must match(典型的跨站点问题)
但作为一个扩展,它应该可以访问 iframe 的内容 http://code.google.com/chrome/extensions/content_scripts.html ...
有没有人知道如何访问它的内容以便被捕获?
【问题讨论】:
-
你到底想做什么?在大多数情况下,您可以将
"all_frames":true添加到清单文件的"content_scripts"部分,并在内容脚本中编写特定于页面的逻辑。 -
@RobW 添加 all_frames:true 将使 content_script 在所有内部框架中运行一次。这会使它的逻辑复杂化很多。我只想通过content_script访问内框的内容。 (如:content_script --> target_page --> inner_content)
-
不可能:内容脚本无法访问页面的任何
window对象(包括框架)。使用"all_frames": false注入一个内容脚本,您可以在其中设置一个标志。然后,使用all_frames": true注入一个脚本,检查该标志的存在。如果标志不存在,则假定内容脚本在框架中运行。然后,您可以对其应用特定于帧的逻辑,并使用消息传递将任何获取的数据传递给主内容脚本。 -
嗯,好的,谢谢:p,但你可以在回答中添加它来标记它,我已经在考虑像你说的那样做,但希望存在直接访问
-
我不确定你想要什么。对于深度嵌套的 iframe,建议的解决方案不起作用。我将发布一个简洁的示例。
标签: html security iframe google-chrome-extension