【发布时间】:2015-01-13 00:21:45
【问题描述】:
我在 Gmail UI 中运行了一个内容脚本,并且我在不同的点注入了一些新的 HTML。这一切正常,但为了保持代码干净,我想在单个函数调用中将预定义的 HTML 标记插入页面的某些部分。
使用 chrome.extension.getURL() 这一切似乎都是可行的,但是当我测试这个时,看起来 chrome.extension 是未定义的!我在文档中找不到任何地方说不应该定义它,也找不到它说应该定义的几个地方。
我使用的是 chrome 版本 39.0.2171.95(64 位)
下面是 chrome 对象在 javascript 控制台中的样子:
首先,有人知道为什么 chrome.extension 可能未定义吗?其次,是否有另一种(也许更好)的方法来做到这一点?我宁愿不只是在内容脚本中使用 jQuery 等在代码中以编程方式将大量 HTML 注入页面,而是在没有其他方法的情况下可以诉诸于此。
【问题讨论】:
-
您是否尝试在代码中实际执行
chrome.extension.getURL()而不是测试控制台?还是您的问题是关于控制台的? -
我做了 - chrome.extension.getURL() 给出了这个:Uncaught TypeError: Cannot read property 'getURL' of undefined
-
在您的内容脚本代码中?还是您从内容脚本中注入了一些其他代码?
-
这是在我的内容脚本 JS 中调用的
-
你是对的 - 我假设(错误地)因为我从清单中定义的“内容脚本”下的脚本中注入了另一个脚本,它也是一个“内容脚本”并且具有相同的chrome 对象中的属性。感谢您的提醒!
标签: javascript html google-chrome google-chrome-extension