更改Chrome扩展标签标题

时间:2015-06-27 14:41:21

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

我的Chrome扩展程序使用API​​

创建标签
chrome.tabs.create({
  'url': other_extension_url
})

网址是另一个扩展程序的网址,如下所示:

chrome-extension://ext_id_goes_here/url

我想更改新创建的标签(document.title)的标题。

我尝试使用内容脚本执行此操作但据我所知,无法使用内容脚本使用类似于chrome-extension://的网址

还有其他办法吗?

3 个答案:

答案 0 :(得分:0)

不,没有办法做到这一点,因为安全模型不允许您访问其他扩展程序的页面。

标题由文档本身设置,不能由tabs API修改。

答案 1 :(得分:0)

这是一种方法。

<html>
<head>
    <title>My title</title>
</head>
<body style="margin:0;padding:0;overflow:hidden;">
    <iframe style="width:100%;height:100%;" src="chrome-extension://extension_id/page.html"></iframe>
</body>
</html>

注意我没有在扩展程序html中尝试过,但它确实可以在html文件中运行://在iframe中打开扩展页面。

基于此,您可以使用一个“包装”页面接收标题和iframe网址作为url参数,并更新其DOM以更改标题和iframe src。

答案 2 :(得分:0)

这是一种方法。

<html>
<head>
    <title>My title</title>
</head>
<body style="margin:0;padding:0;overflow:hidden;">
    <iframe style="width:100%;height:100%;" src="chrome-extension://extension_id/page.html"></iframe>
</body>
</html>

注意我没有在扩展程序html中尝试过,但它确实可以在html文件中运行://在iframe中打开扩展页面。

基于此,你可以有一个单独的“包装”页面接收标题和iframe url作为url参数,然后在dom加载它更新它的DOM来更改标题和iframe src。最初可以隐藏iframe,直到您完成页面更新,然后显示iframe。