我正在通过Adobe Air制作自定义网络浏览器。
我想添加一个禁用javascript&的html过滤器功能iframe中。
如果我可以在渲染之前获取HTML代码,我会使用regexp删除标记元素。
当htmlloader的LocationChangeEvent调度时,我想我可以使用htmlloader。
答案 0 :(得分:3)
Kim,您可以使用以下内容访问HTML:
myHtmlLoader.window.document.childNodes[0].innerHTML
但是你需要确保在加载文档之前不要访问它(见上文),否则它将为null。
当我在加载一个简单文件时使用上面的代码时,我看到了:
<body marginwidth="0" marginheight="0">hello world</body>
如果您无法使用上述内容,请告诉我,我会尝试提供一些示例代码。
答案 1 :(得分:0)
您需要在加载程序上捕获Event.HTML_DOM_INITIALIZE。在这一刻,加载了html,创建了DOM树,还没有启动脚本。然后,您可以从加载器获取window
对象并修改其子级层次结构(请注意,这不是使用正则表达式删除标记。)
您还可以加载html,将其解析为文本,应用过滤器并再次将过滤后的文本设置为html,但随后您将获得另一个HTML_DOM_INITIALIZE事件以及html损坏的风险。当然,选择是你的。