我在我的网站上加入了一个JS库
<script type="text/javascript" src="http://www.turnjs.com/lib/turn.min.js "></script>
由网页设计公司设计,维护和托管。 我想要实现的功能似乎编码得很好 - 请参阅我的JSFiddle - 它没有错误,工作正常。但是,当将我的JSfiddle中的代码复制并粘贴到我的网站时,它根本不起作用 - 谷歌Chrome开发者控制台显示:
GET https://www.turnjs.com/lib/turn.min.js net::ERR_SSL_PROTOCOL_ERROR
但这很奇怪,因为我的Jsfiddle代码包含相同的turn.min.js
并且它在那里工作,但在我的网站上却没有。
答案 0 :(得分:2)
这不是一个javascript问题,它是一个ssl探测器。
您无法通过安全连接(https)提供的html页面通过不安全连接(http)获取文件。如果您要使用https(并且您应该!),那么您需要通过安全连接获取脚本。 要获取该文件,您应该使用:
<script type="text/javascript" src="https://www.turnjs.com/lib/turn.min.js "></script>
通过相应地配置服务器,确保通过https提供文件。这是lighttpd的简单配置,而apache的配置只是。如果您没有CA签名证书,可以使用letsencrypt(www.letsencrypt.org/getting-started/)。如果您不控制服务器,则应与该人联系。
答案 1 :(得分:0)
<script type="text/javascript" src="http://www.turnjs.com/lib/turn.min.js "></script>
会在任何情况下为您的网站带来问题,因为这是混合内容的一个示例,几乎所有浏览器都会阻止这种情况。 解决方案:在您的服务器上复制此文件,然后包含本地版本
P.S。我更喜欢以这种方式将脚本包含在页面中:
<script type="text/javascript" src="//www.turnjs.com/lib/turn.min.js "></script>
。这允许浏览器检查连接类型本身。在你的情况下,这实际上是行不通的(见第1页)。
p.p.s。非常好的解释:Google developers