【发布时间】:2023-03-10 02:13:01
【问题描述】:
我正在尝试构建一个简单的 chrome 扩展,它包含一个图标,单击该图标会弹出官方 Twitter 窗口(如here)。大多数这样做的扩展的问题是窗口在之后仍然打开。但是,如果您包含 Twitter 提供的 this script ,他们会在几秒钟后关闭窗口,这就是我想要做的,所以我试图注入该代码,然后执行 URL。 (请记住,我的 javascript 和 chrome 扩展知识非常有限)。
这是我目前所拥有的。
function onClicked(tab) {
var twitterWidgets = document.createElement("script");
twitterWidgets.type = "text/javascript";
twitterWidgets.src = "https://platform.twitter.com/widgets.js";
var head = document.getElementsByTagName("head")[0];
head.appendChild(twitterWidgets);
var urlToTweet = "https://twitter.com/intent/tweet?"
+ "text=" + encodeURIComponent(tab.title)
+ "&url=" + encodeURIComponent(tab.url);
//window.open(urlToTweet);
}
chrome.browserAction.onClicked.addListener(onClicked);
window.open 不好,因为它会打开一个新标签。 window.location 和变体也不是,它们甚至似乎根本不起作用。我意识到我可能必须添加一些 chrome.extension.getURL 到 twitterWidgets.src 或类似的东西,但在这一点上,我越是弄乱脚本,我越困惑。
非常感谢任何正确方向的帮助。
【问题讨论】:
-
不知道这些是否有效,但值得一试:chrome.window.create (developer.chrome.com/extensions/windows.html#method-create),或者清单文件中的“default_popup”属性 (developer.chrome.com/extensions/browserAction.html#manifest)将让您将 html 页面设置为意图的 url(我怀疑它是否允许您这样做)。
标签: javascript google-chrome twitter