gpt4 book ai didi

JavaScript 检查是否为 Chrome、Firefox 和 Opera 安装了浏览器扩展

转载 作者:数据小太阳 更新时间:2023-10-29 05:26:42 32 4
gpt4 key购买 nike


我想在我们的网站上显示自定义栏(通知,例如:安装我们的插件。)如果未安装 Chrome、Firefox 和 Opera 的扩展程序。如果安装了扩展,则不会显示任何内容。

想法是:
1. 用户访问我们的网站并出现一个带有消息的栏 - “嘿,安装我们的扩展程序”。
2. 用户点击安装并安装扩展。无需用户打开。
3. 用户再次访问我们的网站,安装扩展后,该栏不会再次出现。
我们只讨论安装检查,不讨论 cookie

到目前为止,我只能找到适用于 Chrome 的解决方案:http://blog.kotowicz.net/2012/02/intro-to-chrome-addons-hacking.html
和 Firefox:http://webdevwonders.com/detecting-firefox-add-ons/
歌剧从未被提及。

有没有一种方法可以用于 Opera,基于检查作为扩展一部分的本地资源的想法:
chrome-extension://--扩展 ID--/blank.gif
火狐浏览器 chrome://firebug/content/blank.gif

否则:是否有一种简单的方法来检查是否为 Chrome、Firefox 和 Opera 安装了扩展程序?

最佳答案

如果扩展愿意合作,它可以很容易地向文档通告它的存在。例如:


<罢工>扩展可以做

window.$$myExt = ...

然后您可以通过以下方式检测扩展

if(typeOf $$myExt !== 'undefined'){...

(或其任何变体)

获取页面 windowsomewhat tricky at least


扩展可以做

document.body.classList.add("myExt-visited")

然后你可以检测扩展

if(document.body.classList.contains("myExt-visited")){...

扩展可以做

document.body.innerHTML += "<div id='myExt-toolbar'>..."
// or $('body').append("<div id='myExt-toolbar'>...");

然后你可以通过

检测扩展
if(document.getElementByID("myExt-toolbar")){...
// or if($("#myExt-toolbar").length){...

或者,你可以做

<div id="myExt-replacement">
...

扩展会做

var replacement = document.getElementByID("myExt-replacement");
replacement && replacement.remove();

或者你可以做

function onMyExtExists(){
...
}

扩展会做

onMyExtExists && onMyExtExists();

关于JavaScript 检查是否为 Chrome、Firefox 和 Opera 安装了浏览器扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14398548/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com