对特定的iframe使用javascript书签

Use javascript bookmark for specific iframe

本文关键字:使用 javascript 书签 iframe      更新时间:2023-09-26

我有一个javascript调试代码,需要不时在特定网站上运行。

该网站有几个iframe。

当我使用Chrome的调试控制台时,我可以选择运行代码的iFrame。

我创建了一个书签,代码为javascript:my_debug_code(),但我如何告诉它在我需要的iFrame上运行?

编辑

这与建议的从父页面调用iframe中的JavaScript代码不同。

因为我没有试图从页面本身运行代码。

我的问题不同——我想从书签中运行代码。

回答

我不能发布新的答案,因为标记的问题是重复的。

但取自@Gothdo的答案,显然我所需要的只是添加到我的书签中:

javascript:window.frames[0].my_debug_code()

如果iframe与主窗口具有相同的来源,则可以执行此操作。只需创建一个新脚本并将其附加到该iframe的<head>元素即可。

const code = "console.log('hello world from iframe', location.href)"
     ,iframeName = "YOUR-IFRAME-NAME"
const script = document.createElement("script")
window.frames[iframeName].document.head.appendChild(script)
script.src = "data:text/javascript;base64," + btoa(code)