【问题标题】:Use javascript bookmark for specific iframe [duplicate]对特定 iframe 使用 javascript 书签 [重复]
【发布时间】:2016-09-13 17:51:02
【问题描述】:

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

该网站有多个 iframe。

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

我使用代码 javascript:my_debug_code() 创建了一个书签 - 但我如何让它在我需要的 iFrame 上运行?

编辑

这不是建议的 Invoking JavaScript code in an iframe from the parent page 的副本。

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

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

回答

我无法发布新答案,因为问题被标记为重复。

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

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

【问题讨论】:

  • 使用frameName.contentWindow.my_debug_code()。简而言之,出于安全考虑,不可能

标签: javascript iframe


【解决方案1】:

只要 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)

【讨论】:

  • 我从这个答案中找到了正确的答案。我不需要整个脚本。只是 windows.frames[num] 对我有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 1970-01-01
  • 2021-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多