Chrome 扩展程序 - 在新打开的选项卡中不起作用

     2023-02-24     56

关键词:

【中文标题】Chrome 扩展程序 - 在新打开的选项卡中不起作用【英文标题】:Chrome Extension - Not working in the newly opened tab 【发布时间】:2014-03-04 13:42:15 【问题描述】:

我正在开发一个 chrome 扩展,它在所有场景中都运行良好,除了在新标签页中。

即,扩展程序仅在打开网站时才有效,例如。 ***.com。当我按 ctrl+t 并单击我的扩展程序图标时,它不起作用。

我做错了什么?还是浏览器行为?

我已经添加了我的代码供你参考。

清单


    "manifest_version": 2,

    "background": 
        "scripts": ["scripts/background.js"],
        "persistent": false
    ,

    "content_scripts":[
        "matches" : ["<all_urls>"],
        "js": ["scripts/jquery-2.1.0-min.js", "scripts/init.js"],
        "run_at": "document_end"
    ],

    "permissions": [
        "storage", "activeTab", "http://*/*", "https://*/*"
    ],

    "browser_action": 
        "default_icon": "images/plugin-icon-24.png"
    ,

    "web_accessible_resources": [
        "*.html",
        "images/*.gif",
        "images/*.png"
    ]

init.js

chrome.storage.sync.get('logged_in', function(status)
    if(status.logged_in)
        chrome.runtime.sendMessage('LOGGED_IN');
     else 
        chrome.runtime.sendMessage('NOT_LOGGED_IN');
    
);

background.js

var add_resource = function()
    chrome.tabs.executeScript(
        file: 'scripts/plugin.js'
    );
    chrome.tabs.insertCSS(
        file: 'styles/plugin.css'
    );
;

chrome.runtime.onMessage.addListener(function(message) 
    alert(message);
    /*This alerts comes even in the newly opened tab. 
    But the script is not getting executed.*/

    if(message == 'LOGGED_IN')
        add_resource();
     else 
        chrome.browserAction.onClicked.addListener(function(tab)
            add_resource();
        );
    
);

【问题讨论】:

【参考方案1】:

尝试将以下代码添加到您的 manifest.json。

"chrome_url_overrides": 
    "newtab": "blank.html"

blank.html:(创建您自己的版本)

<html>
 <head>
  <title>Blank New Tab</title>
  <style>
  div 
    color: #cccccc;
    vertical-align: 50%;
    text-align: center;
    font-family: sans-serif;
    font-size: 300%;
  
  </style>
 </head>
 <body>
  <div style="height:40%"></div>
  <div>Blank New Tab&trade;</div>
 </body>
</html>

【讨论】:

这无助于通过 background.js 注入脚本,我认为,我们不能通过浏览器操作覆盖新标签页。非常感谢您的建议,它真的很有帮助。 ***.com/questions/4996194/… '请记住,内容脚本不会注入任何chrome:// 或扩展库页面。'【参考方案2】:

在“权限”中添加 "chrome://*/*"(用于新标签页),然后打开 chrome 并转到 chrome://flags/#extensions-on-chrome -urls 并启用此设置。

【讨论】:

【参考方案3】:

问题可能在于您的清单权限。

新标签页没有使用http://,而是chrome://newtab,因此您可能需要将其添加到您的权限中才能使您的扩展程序正常工作。

【讨论】:

我试过了,上面写着'Permission 'chrome://newtab' is unknown or URL pattern is malformed.' 另外,我尝试了所有可能的方式,比如'*://*', 'chrome://*', 'chrome://*/', 等等。没有运气! 同样的警告Permission '*' is unknown or URL pattern is malformed.!

iPad Chrome - 在新窗口/选项卡中提交表单不起作用

】iPadChrome-在新窗口/选项卡中提交表单不起作用【英文标题】:iPadChrome-SubmitforminnewWindow/Tabnotworking【发布时间】:2016-08-1214:20:22【问题描述】:我们开发c#.NET应用程序、javascript并使用EXTJS(6.0.2)。应用程序可以在PC平台上的所有... 查看详情

在新选项卡中打开 iframe 源

】在新选项卡中打开iframe源【英文标题】:Openiframesourceinnewtab【发布时间】:2016-08-2820:00:13【问题描述】:我有一个iframe,人们可以通过它导航到特定地点,但由于它是跨域的,因此网站上的某些javascript不起作用(例如查看产... 查看详情

上传文件在 Chrome 扩展选项页面中不起作用

】上传文件在Chrome扩展选项页面中不起作用【英文标题】:UploadfilenotworkinginChromeextensionoptionpage【发布时间】:2013-10-1318:21:23【问题描述】:我正在开发一个带有选项页面的chrome扩展。在该页面上,我放置了一个上传图片选项,... 查看详情

Jquery自定义右键单击并在新选项卡中打开

】Jquery自定义右键单击并在新选项卡中打开【英文标题】:JqueryCustomRightclickwithopeninnewtab【发布时间】:2020-01-1612:37:01【问题描述】:我创建了一个自定义右键单击菜单,因此其中一个项目在新标签中打开,带有idgm我想创建一个... 查看详情

GWT 在新选项卡中打开页面

...时间】:2011-04-2321:06:56【问题描述】:我正在开发GWT应用程序并使用com.google.gwt.user.client.Window.open(pageUrl,"_blank","");打开新页面。它在调用时会在新选项卡中打开,例如,在单击按钮后直接打开。但我决定在打开新页面之前在服务... 查看详情

chrome调试器:单击控制台中的异常链接会在新选项卡中打开文件,而不是交叉链接到源文件

】chrome调试器:单击控制台中的异常链接会在新选项卡中打开文件,而不是交叉链接到源文件【英文标题】:chromedebugger:clickingexceptionlinkinconsoleopensfileinnewtabinsteadofcross-linkingintosourcefile【发布时间】:2015-04-2405:42:03【问题描述】... 查看详情

如何使用html在新选项卡中打开指向pdf文件的链接

】如何使用html在新选项卡中打开指向pdf文件的链接【英文标题】:Howtoopenlinktopdffileinnewtabusinghtml【发布时间】:2011-02-2604:56:08【问题描述】:我有一个html页面,其中包含打开pdf文件的链接。但是,当我单击它时,此链接会在adob... 查看详情

在新选项卡中打开 PDF,保存文件给出错误的文件名

...时间】:2019-10-2600:25:48【问题描述】:有一个Angular6应用程序具有下载pdf文件的功能。它使用来自另一个SpringBoot应用程序的RESTAPI来下载文件。要求是我需要在新选项卡中打开pdf文件,并且在保存时它应该有一个有意义的名称。... 查看详情

源地图在 Chrome 网络选项卡中不可见

】源地图在Chrome网络选项卡中不可见【英文标题】:SourcemapisnotvisibleatChromenetworktab【发布时间】:2015-10-1000:45:35【问题描述】:在GoogleChrome更新之前,我在网络选项卡上的ChromeDevtools中看到了源映射文件。现在,更新到43.0.2357.134... 查看详情

在新选项卡中打开链接(WebBrowser 控件)

...2010-11-2004:20:12【问题描述】:有人知道如何在WinForms应用程序中单击WebBrowser控件中的链接,然后在我的TabControl内的新选项卡中打开该链接吗?我已经搜索了几个月,看过很多教程/文章/代码示例,但似乎之前没有人在C#中尝试过... 查看详情

RefreshControl 在其他选项卡中以类似方式使用的代码的选项卡之一中不起作用

...othertabs【发布时间】:2019-11-2316:16:09【问题描述】:应用程序选项卡使用刷新按钮来更新列表,效果很好。尝试使用“下拉刷新”但根本不起作用。protocolStaffHistoryDeleg 查看详情

OroPlatform:在新选项卡中从 application_menu 打开项目

...间】:2021-06-2002:02:05【问题描述】:是否可以将后台应用程序菜单中的某些项目配置为在新的浏览器选项卡中打开?frontend_menu有一个名为“目标窗口”的选项,但application_menu没有。【问题讨论】:【 查看详情

在新的浏览器选项卡中打开 ResponseEntity PDF

...】:我发现了一个有用的PDF生成代码,用于在SpringMVC应用程序中向客户端显示文件("ReturngeneratedPDFusingSpringMVC"):@RequestMapping(value="/form/pdf",pr 查看详情

在新的浏览器选项卡中打开 ResponseEntity PDF

...】:我发现了一个有用的PDF生成代码,用于在SpringMVC应用程序中向客户端显示文件("ReturngeneratedPDFusingSpringMVC"):@RequestMapping(value="/form/pdf",pr 查看详情

Dropzone 在 jquery 选项卡中不起作用

】Dropzone在jquery选项卡中不起作用【英文标题】:Dropzonedoesnotworkinsidejquerytabs【发布时间】:2015-09-2301:42:22【问题描述】:我正在尝试在jquery选项卡中使用dropzone。在选项卡调用的文件中,我包括dropzone.min.js、dropzone.min.css、basic.mi... 查看详情

如何使用敲除数据绑定在新选项卡中打开按钮链接

】如何使用敲除数据绑定在新选项卡中打开按钮链接【英文标题】:Howtoopenbuttonlinkinnewtabusingknockoutdata-bind【发布时间】:2019-11-1904:41:38【问题描述】:我正在尝试使用按钮打开指向新标签的链接。问题是我正在使用数据绑定attr:... 查看详情

使用角度导航时,在新选项卡中打开链接未在新选项卡中打开

】使用角度导航时,在新选项卡中打开链接未在新选项卡中打开【英文标题】:Openlinkinnewtabnotopeninginnewtabwhenusingnavigateinangular【发布时间】:2020-09-0205:55:11【问题描述】:在HTML页面中<h2class="entry-title"><ahref="javascript:void(0)"... 查看详情

jQuery:检测鼠标单击并在新选项卡中打开目标

...:39:54【问题描述】:我目前正在设计一个简单的论坛应用程序。它主要由jQuery/AJAX提供支持,并在同一页面上加载所有内容;但是,我知道有时用户希望在浏览论坛时一次打开多个主题以在新标签中查看它们。我对此的解决方案... 查看详情