【问题标题】:Any way to disable browser's "validation"?有什么方法可以禁用浏览器的“验证”?
【发布时间】:2015-11-18 11:02:36
【问题描述】:

我有一个网站,上面有一些类似的代码

<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(该文件已由我的托管服务提供商自动添加以用于广告目的)

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

【问题讨论】:

  • 购买主机。 2 美元/月。你可以查看我的个人资料;)
  • 如果只是添加了脚本标签,您可以尝试添加开始评论或
  • 我不敢相信这有效...谢谢@RolandStarke

标签: javascript html validation dom


【解决方案1】:

(该文件已由我的托管服务提供商出于广告目的自动添加)

然后是 他们 这样做,而不是 浏览器。在您的页面发送到浏览器之前,他们会将其添加到其中。浏览器并不关心你的元素在哪里以及它们应该在哪里。

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

【讨论】:

  • 是的,但是有什么办法可以防止html标签外的脚本被执行?可能是通过使用删除最后几行的脚本?
  • 不,没有,他们可以控制您的页面,因此您所做的任何事情都将在 到达他们之前,他们仍然可以添加它,因此没有必要浪费时间超过它。获取其他托管服务提供商
【解决方案2】:

无论如何,脚本都会运行。如果您知道脚本执行的作用,则可能有办法阻止它实际执行任何操作,但无论其在页面上的位置如何,它仍会执行。

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';
});

答题:如何手动设置用户Agent,使js无法检测到移动访问

【讨论】:

  • 从移动设备查看时,他们的脚本使用document.location 重定向到他们的主页。我试过document.onbeforeunload,但还是没有运气..
  • 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' });在页面顶部试试这个
【解决方案3】:

选项 1:(@RolandStarke)

在 html 标签后添加&lt;noscript&gt;

选项 2:(@Elentriel)

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

navigator.<strong>defineGetter</strong>('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' });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-01
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多