2013-11-29 40 views
3

我正在使用谷歌浏览器,我正在编写浏览器扩展。我试图将JQuery 2.0.3注入Facebook作为上下文脚本。只是想看看我是否可以,我试图抓住邮件页面上的文本区域。我直接键入此行到JavaScript控制台:谷歌Chrome浏览器:Facebook上的JQuery内容脚本

$('textarea[name="message_body"]'); 

非但没有一个jQuery对象,我得到这个错误:

Error: <![EX[["Tried to get element with id of \"%s\" but it is not present on the page.","undefined"]]]> 

实是否有反jQuery的措施,或者是有什么其他发生,我做错了? 像往常一样,感谢所有提前!

+0

您确定上述错误是由这段特定的代码产生的吗?它可能与代码的其他部分有关,因此发布多一点“上下文”会很有帮助。 – gkalpak

+1

是的,这行代码直接在javascript控制台中输入。这是不幸的,因此我没有更多的上下文给予= \(我将这个问题的细节添加到未来的清晰度中) –

+0

内容脚本“活”在一个孤立的世界中。因此,Web页面的JS上下文(可以从控制台访问)对内容脚本的JS上下文一无所知,反之亦然。所以控制台对注入'jQuery 2.0.3'一无所知。为了使它工作yoh应该执行这行代码来自内容脚本。 – gkalpak

回答

14

您正在访问Facebook页面中定义的$()函数,该函数与jQuery无关。要访问的JavaScript控制台,您的内容脚本的执行上下文,你需要从下拉菜单位于窗口底部框中选择:

Bottom bar of Developer Tools

相反的<page context>,你必须选择chrome-extension://<your extension id>

+1

动画版本:http:// stackoverflow.com/a/15197993/938089 –

+0

有趣的是,我想知道我是如何在其他页面上做的。我可能已经选择了它并且不知道它。无论哪种方式,这正是我需要的。谢谢! –

相关问题