草庐IT

Chrome_InProcRe

全部标签

javascript - chrome.runtime.sendMessage 在重新加载 Chrome 扩展程序后从内容脚本中抛出异常

我将消息从注入(inject)的内容脚本发送回我的Chrome扩展程序中的后台脚本:chrome.runtime.sendMessage({action:"myResult"});这工作正常,直到我重新加载我的扩展程序(通过转到“设置”->“扩展程序”->“为我的扩展程序重新加载(Ctrl+R)”。)反过来,当我的后台脚本启动时,它会为所有打开的标签反复调用chrome.tabs.executeScript,以编程方式重新注入(inject)我的内容脚本(asIshowedinthisquestion.)但是在我这样做之后,如果我从我的内容脚本调用第一行sendMessage,它会抛出

javascript - Chrome 应用程序与主页之间的通信与 PostMessage

我需要能够通过WebView从Chrome应用向主页发送postMessage并返回。我已经建立了从ChromeApp到首页的PostMessage,这个PostMessage也被首页抓到了并且发回了一个新的,但是这个PostMessage回复却没有被ChromeApp抓到。我可以在Chrome-AppAPI上看到它是可能的。:Theguestwillbeabletosendrepliestotheembedderbypostingmessagetoevent.sourceonthemessageeventitreceives.所以问题是我无法让Chrome应用程序捕获来自主页的回复,

javascript - 如何清除Google Chrome浏览器地址栏?

在标签中加载扩展程序页面时,我需要清除GoogleChrome浏览器地址栏。THIS是我的扩展名,需要清除的地址如下所示:chrome-extension:///page.html 最佳答案 *底部真正解决您的问题。清除浏览器地址栏这是一个几乎所有曾经使用JavaScript的人都想到的老问题:我可以通过JavaScript替换地址栏中显示的整个URL吗?好吧,很抱歉,答案是一个巨大的NOPE!为什么无法清除/替换地址栏中的URL?首先,JavaScript实际上没有提供任何功能,最著名的浏览器(Chrome,Mozilla,Ope

javascript - 禁用 chrome 扩展程序的徽章

我正在开发一个显示通知的chrome扩展程序。我正在使用这些函数chrome.browserAction.setBadgeBackgroundColor和chrome.browserAction.setBadgeText显示通知。这是它的样子:在用户看到通知后我想移除这个徽章。我试图让它变得透明,但结果是这样的:任何人都可以帮助我如何删除徽章,或者是否有其他方法可以实现我想要的?解决方案写空文本时,徽章消失。 最佳答案 要删除徽章计数,只需将文本设置为空字符串即可:chrome.browserAction.setBadgeText(

javascript - GM_setClipboard(和其他 GM 函数)在 Firefox 中给出错误,但在 Chrome/Tampermonkey 中没有给出错误?

我在Firefox中工作并尝试创建一个函数,当我按下Shift+*(Numpad)时将复制链接的文本。代码通常在ChromeTampermonkey中工作,但由于某种原因它在Firefox中什么都不做。控制台报如下错误:"ReferenceError:GM_setClipboardisnotdefined"这是我的代码:document.addEventListener("keydown",function(i){varselectLink=$('a').eq(8);//ThelinkbyindexvartargetLink=selectLink.text();//Thelinktex

javascript - 在 Chrome 扩展程序中多次执行内容脚本

目前,我们有一个在manifest.json文件中初始化的内容脚本,如下所示:"content_scripts":[{"matches":["https://docs.google.com/*"],"js["content.js"],"run_at":"document_start","all_frames":true,"match_about_blank":true}],设置为在用户每次加载google文档时运行。但是,通过查看控制台日志,内容脚本似乎被多次加载(是否注入(inject)了正确的词?)到新选项卡中,因为我们获得了多个控制台日志。我在其他一些答案中读到,这可能与以下事实

javascript - Shadow Dom继承父页面CSS [Chrome]

这个问题在这里已经有了答案:LightDOMstyleleakingintoShadowDOM(1个回答)关闭2年前。我读过的所有内容都表明ShadowDom对于其父页面CSS来说应该是“安全的”。IE。如果我将所有div样式设置为紫色字体:div{color:purple}我的ShadowDom中的div应该具有浏览器默认颜色。我正在编写一个chrome扩展程序,可以将html注入(inject)任何给定页面。除非此html受ShadowDom或Iframe保护,否则它将继承页面的所有CSS。解决这个问题的建议在这个question,是使用ShadowDom。所以我实现了一个解决方案

javascript - Ajax 调用无法使用 list v2 的 chrome 扩展

我正在尝试使用类似这样的基本chrome扩展chrome.omnibox.onInputChanged.addListener(function(text,suggest){varbaseUrl="http://sample.com";varfinalResult=[];$.ajax({url:baseUrl,dataType:"jsonp",success:function(result){for(vari=0;i这适用于list版本1,但是当我将其更改为v2时,出现以下错误。我将不胜感激:)拒绝加载脚本'http://sample.com',因为它违反了以下内容安全策略指令:“sc

javascript - Chrome 扩展加载行为

我正在为chrome扩展开发一个设置页面。在我的options.js文件中,我想用一些默认值初始化设置,为此我使用window.onload=initSettings();。在我的initSettings()函数中,我试图通过document.getElementById("someId")从DOM访问输入。但是这个调用总是返回null。我认为window.onload事件是在所有DOM元素就位后触发的。我做错了什么? 最佳答案 我在options.js文件的顶部有这个-自从我上次使用扩展已经很久了,我不能确定它是否有任何帮助。值得

javascript - 在标签页中打开 Chrome 应用

此问题始于GoogleChrome的第23版。当启动的事件触发时,我的Chrome应用程序会打开一个选项卡以显示其UI。chrome.app.runtime.onLaunched.addListener(function(){chrome.tabs.create({url:"../../index.html"});});此方案适用于GoogleChrome版本23之前的版本。现在在运行我的应用程序时收到以下异常。Errorineventhandlerfor'app.runtime.onLaunched':Cannotcallmethod'create'ofundefinedTypeEr