我就不说是什么网站了
万一网站管理员发现了这个问题,屏蔽了这个方法,那我不就是白忙活了。
反正是公司的需要,领导不想交钱。
发现一个简单的Chrome扩展也不是太难写
借着这个机会,了解了一下Chrome扩展该怎么开发。
参考的文档360翻译的开发文档(可能不全),Chrome官方英文开发文档。
我就不介绍那个网站的背景了,我只是记录一下Chrome扩展程序怎么开发。
只用到了两个文件manifest.json
和content-script.js
。
最主要的文件是manifest.json
,我是下载的模板文件,只修改了一下下面这些内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| { "manifest_version": 2, "name": "appname", "version": "1.0.0", "description": "app description", "icons": { "16": "img/logo.png", "48": "img/logo.png", "128": "img/logo.png" }, ... "content_scripts": [ { "matches": ["*://*.domain.com/*"], "js": ["js/jquery-1.8.3.js", "js/content-script.js"], "css": ["css/custom.css"], "run_at": "document_start" } ], "homepage_url": "http://www.ywmt.bid/Blog" ... }
|
jquery是网上下载的,然后就是另一个主要的文件content-script.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| document.addEventListener('DOMContentLoaded', function() { document.onreadystatechange = function(){ $('#imMsgBox').hide(); $('#overlayDiv').hide(); var obj = $("#imMsgBox").find("#imMsgBoxEnterBut"); obj.hide(); var btn_close = '<a id="imMsgClose" href="javascript:void(0);" class="btn orangeBtn twoBtn">我知道了</a>'; obj.parent().append(btn_close); $("#imMsgClose").click( () => { window.location.href = window.location.href; }); } });
|
最初的版本,只有$('#imMsgBox').remove()
和$('#overlayDiv').remove();
,这样确实可以不显示提示框,但是正常的提示也无法显示了,于是才修改成了上面的版本。
有这几行就足够了。问题成功解决。
建议删除重写Chrome指定页面的字段
在manifest.json
文件中,建议删除"chrome_url_overrides"
字段,这个字段会替换Chrome默认的页面,如果没有特殊需要,建议是删除的。
网上下载的模板,有的可能默认的是修改了新标签页的,当你发现这个问题后,删除了这个字段,即使在Chrome更新,也不会立即替换成默认的,这个可能是系统缓存的问题,只要修改路径,重新加载扩展程序就可以了。