Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 任何禁用浏览器的方法';s";验证“;?_Javascript_Html_Validation_Dom - Fatal编程技术网

Javascript 任何禁用浏览器的方法';s";验证“;?

Javascript 任何禁用浏览器的方法';s";验证“;?,javascript,html,validation,dom,Javascript,Html,Validation,Dom,我有一个网站,上面有一些代码,比如 <html> <head> ... </head> <body> ... </body> </html> <script src="./file.js"></script> ... ... 但当我在浏览器中打开时,它会通过将标记移动到标记上方来自动更正,如下所示,并包括文件: <html

我有一个网站,上面有一些代码,比如

<html>
    <head>
         ...
    </head>
    <body>
         ...
    </body>
</html>
<script src="./file.js"></script>

...
...
但当我在浏览器中打开时,它会通过将标记移动到标记上方来自动更正,如下所示,并包括文件:

<html>
    <head>
         ...
    </head>
    <body>
         ...
         <script src="./file.js"></script>
    </body>
</html>

...
...
我知道这是由于HTML验证造成的,但是有没有办法防止这种“自动更正”

我不需要执行file.js(该文件已由我的主机提供商出于广告目的自动添加)

问题是页面在移动访问时重定向

(该文件已由我的主机提供商出于广告目的自动添加)

然后是他们在做这件事,而不是浏览器。在将页面发送到浏览器之前,他们会将其添加到浏览器中。浏览器不关心元素位于何处以及它们应该位于何处


但是,出于任何实际目的,即使该脚本文件包含在文件末尾,它仍将执行。

不管如何,脚本都将运行。如果您知道脚本执行的作用,可能有一些方法可以阻止它实际执行任何操作,但不管它在页面上的位置如何,它仍然会执行

navigator.__defineGetter__('userAgent', function(){
    return 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36';
});
问题的答案:如何手动设置用户代理以使js无法检测移动访问

选项1:(作者@RolandStarke)

在html标记后添加一个

选项2:(作者@Elentriel)

通过将以下脚本附加到文件顶部,强制更改用户代理


navigator.defineGetter('userAgent',function(){return'Mozilla/5.0(windowsnt 6.1;WOW64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/46.0.2490.86 Safari/537.36')

是的,但是有没有办法阻止html标记之外的脚本被执行?可能是通过使用一个脚本来剥离最后几行?不,他们没有,他们可以控制你的页面,所以你所做的任何事情都会在它到达他们之前完成,他们仍然可以添加它,所以没有必要在上面浪费时间。找其他主机提供商购买主机。2美元/月。您可以查看我的个人资料;)如果只是附加了脚本标记,则可以尝试添加开始注释或标记。但是主人不会高兴的。我不敢相信这会奏效。。。感谢@RolandStarket他们的脚本使用
文档。从手机查看时,位置
重定向到他们的主页。我尝试了
document.onbeforeunload
但仍然没有运气..navigator.\uu defineGetter_uu('userAgent',function(){return'Mozilla/5.0(windowsnt 6.1;WOW64)AppleWebKit/537.36(KHTML,像Gecko)Chrome/46.0.2490.86 Safari/537.36';在你的页面顶部试试这个