【发布时间】:2012-11-20 23:27:43
【问题描述】:
我需要做什么
我在 HTML 页面的正文中显示带有 javascript 的 iframe。
类似document.write('<iframe ...></iframe'>);
在这个 iframe 中有我的 javascript 函数,它在父文档的正文中搜索关键字,并将其替换为父文档中的 html 链接 <a href="#">keyword</a>。
我的尝试
- Javascript Bookmarklet to replace text with a link : 复杂的脚本,但我需要skipTags
- 和Javascript .replace command replace page text?:非常短而漂亮的脚本,但没有skipTags功能...
当脚本在文档中但不在 iframe 中以与父文档一起使用时,这些功能就像一个魅力。
我的问题/疑问
- 问题是“关键字”被替换为
'非解释' html 作为文本。 (浏览器显示
<a href="#">keyword</a>)。 - 我的第二个问题是如何只进行一次替换,而不是 所有匹配的表达式?
通常我使用一些 jQuery,但在这个项目中我只需要使用一些没有任何库的 javascript。
有什么想法可以帮助我吗? (我不希望任何人“编写我的代码”,我只是想要一些建议让我自己编写代码)
附注1 : 我使用 Chrome,但我想让它在每个浏览器中都能正常工作。
附注2 : 英语不是我的母语,所以如果你有什么不懂的地方,尽管问我,我会尽力解释得更好。
编辑 2
第一个脚本现在适用于 HTML,所以问题 1 解决了,但是如何只替换一次,即使关键字重复多次? (问题2)
【问题讨论】:
-
如果可以的话发布一个演示,以及为什么需要从 iframe 运行它?
-
由于 iframe 的关系,我不知道如何发布演示,在 jsfiddle 中我们无法调用 jsfiddle 的另一个页面。我需要在 iframe 中执行它,因为这将使用
<script src="iframe_generator.php?some_vars"></script>从其他域调用 -
@xiaoyi 我加了2个例子,如果能帮助你理解的话
-
Q1 的答案很明显,您将替换值硬编码到代码中。但是仍然不明白使用
<iframe>...
标签: javascript html iframe replace