问题描述
我在网站的开头找到了这个脚本:
<script type="text/javascript" >
function Ext_Detect_NotInstalled(ExtName,ExtID) {
}
function Ext_Detect_Installed(ExtName,ExtID) {
alert("We have found unwanted extension. Please contact support")
window.location = "logout.php"
}
var Ext_Detect = function(ExtName,ExtID) {
var s = document.createElement('script');
s.onload = function(){Ext_Detect_Installed(ExtName,ExtID);};
s.onerror = function(){Ext_Detect_NotInstalled(ExtName,ExtID);};
s.src = 'chrome-extension://' + ExtID + '/captured.js';
document.body.appendChild(s);
}
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
function displayErrorAndLogout() {
alert("Please use chrome browser to view the content");
window.location = "logout.php"
}
if (is_chrome==true)
{
window.onload = function() { Ext_Detect('Chrome','ngpampappnmepgilojfohadhhmbhlaek');};
} else {
is_chrome = navigator.userAgent.toLowerCase().indexOf('crios') > -1;
if (is_chrome == false){
if (detectIE()){
displayErrorAndLogout()
}
if (navigator.userAgent.indexOf('UCBrowser') > -1) {
displayErrorAndLogout()
}
该脚本检查Internet下载管理器扩展,并弹出注销消息。 是否可以使用Greasemonkey删除或更改此内联Java脚本?
1楼
如果要禁用Chrome插件的检查,这很简单:脚本将一个函数分配给onload ,因此,如果您仅向onload分配其他内容,则Ext_Detect将永远不会运行,并且您的扩展程序也不会被检测到:
window.onload = () => null;
不幸的是,检查crios和UCBrowser并运行detectIE的另一部分是同步运行的,大概是在页面加载开始时运行的,并且用户脚本不能在页面加载开始时可靠地运行,因此行为可能无法改变,尽管您可以使用@run-at document-start尝试: displayErrorAndLogout在分配给window.location之前调用alert ,因此,如果您这样做是为了使alert引发错误,则位置不会改变:
@run-at document-start
// ==/UserScript==
window.alert = function() {
throw new Error();
};