gpt4 book ai didi

JavaScript 对象在 FireBug 中可见,在代码中不可访问

转载 作者:搜寻专家 更新时间:2023-11-01 04:33:22 25 4
gpt4 key购买 nike

在我的代码中,我有一行转储当前窗口(恰好是一个 youtube 视频页面):

Firebug.Console.log(myWindow);

可以看出 window 对象包含“yt”属性,这是另一个可以在调试器中轻松检查的对象:

http://i.imgur.com/lHHns.png

不幸的是,打电话

 Firebug.Console.log(myWindow.yt);

记录“未定义”- 为什么会这样,我如何访问这个“yt”属性?

编辑:一个可能很重要的补充:我正在编写的代码是 firefox 扩展的一部分,因此它并不是真正在 pgae 中运行,而是在 chrome 中运行 - 我开始认为这可能是原因.与脚本标签中的代码相反,Chrome 脚本能否以某种方式限制它们可以看到/访问的内容?

最佳答案

出于安全原因,Firefox 扩展不直接访问网页对象,而是通过 wrapper .此包装器允许您使用 DOM 对象定义的所有属性,但页面 JavaScript 添加的任何内容都是不可见的。你可以access the original object :

Firebug.Console.log(XPCNativeWrapper.wrappedJSObject.yt);

但是,如果您想从扩展程序与网页交互,您应该考虑网页无法欺骗您的替代方案(例如,在内容窗口中运行非特权代码:myWindow.location.href = "javascript:...").

关于JavaScript 对象在 FireBug 中可见,在代码中不可访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com