HTML中的Javascript未通过SSL连接执行
我使用无效的安全证书通过Jenkins https提供以下HTML:HTML中的Javascript未通过SSL连接执行,javascript,html,ssl,jenkins,Javascript,Html,Ssl,Jenkins,我使用无效的安全证书通过Jenkins https提供以下HTML: <!DOCTYPE html> <html> <head> <script type="text/javascript">alert(1);</script> <script type="text/javascript">alert(2);</script> <script type="text/javascrip
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">alert(1);</script>
<script type="text/javascript">alert(2);</script>
<script type="text/javascript">alert(3);</script>
</head>
<body>
</body>
</html>
警报(1);
警报(2);
警惕(3);
如果我在浏览器中查看页面上的源代码,这就是我看到的。但是,我没有收到警报
如果我以本地文件的形式打开页面file://.../index.html
我得到了弹出窗口。这在多个浏览器和多个客户端上发生
如果我打开javascript控制台并键入alert(1)代码>我没有得到警报,但我得到了未定义的
,这意味着它运行了函数,并且没有返回任何内容
为什么会这样?原来这是Jenkins的事,在脚本控制台中运行它修复了我的问题:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline';")
以下是指向“内容安全策略”标题文档的链接,该标题为我们指明了正确的方向:
至于控制台,它返回未定义的
,因为当函数没有明确指定的返回值时,JavaScript中的函数会返回未定义的
。所以当然alert()
会返回未定义的,那会是什么呢?是的,但我没有得到警报,这是我应该说的,我只是在Chrome和IE中尝试了一下,似乎对我没问题()。我想这可能与你的电脑安全有关,比如AV/防火墙