将页面的innerText值传递到Chrome扩展程序而不打开页面

时间:2015-05-06 17:33:17

标签: javascript google-chrome google-chrome-extension

我一直在寻找这个,我认为问题在于我天生就在编程或编写任何类型的脚本,我不知道使用正确的词...... < / p>

基本上:我想制作一个Chrome扩展程序,用于从我工作的地方的售票系统中读取innerText值。举个例子......

<span class="infomsg">Tickets Found [<span id="tickets_count">5</span>]</span>

目标是扩展程序显示文本&#34; 5&#34;在图标上方。

最好的方法是什么?我尝试使用iframe配置background.html页面,其中包含以票证计数为目标的URL,但后来我遇到了跨域脚本问题。 document.getElementById(&#34; tickets_count&#34;)。innerHTML不能使用指定的URL,就像我找到的那样。

我确定我根本没有完全描述它 - 完全在这里挣扎,说实话......让我知道我可以澄清什么,我会编辑我的帖子。

谢谢!

1 个答案:

答案 0 :(得分:0)

这取决于您正在查看的页面是否是静态的(例如,服务器向您发送已包含此信息的HTML)或动态(例如,页面上的某些JavaScript请求其他信息,然后将其添加到页面中)

如果它是静态的,您可以使用XHR来请求页面,并在“原始”HTML响应中找到所需的字符串。在这种情况下你不能使用getElementById - 你需要找到一种方法来自己找到字符串。

如果它是动态的,那将无效。 iframe-in-the-background方法有效 - 但您无法访问iframe的内容。相反,您应该在该页面中注入content script并在request注入所需的信息。

我理解这是一个广泛的答案 - 但你的问题也很广泛。