没有协议的Javascript引用-(以//开头)

Javascript reference without protocol - (starting with //)

本文关键字:开头 引用 协议 Javascript      更新时间:2023-09-26

我开发了一个插件,目前已在数千个网站上使用。安装插件的代码包括对没有协议的javascript的引用,例如:

//www.mysite.com/js/script.js

这在大多数网站上都很好,根据当前协议从https或http版本进行请求。

然而,时不时地,让我们说0.5%,有些网站不知道这种引用js脚本的方式。当我查看网站代码时,我发现:

http://www.userwebsite.com//www.mysite.com/js/script.js

这不是特定于浏览器的问题,因为我在任何浏览器中都进行了测试,但我仍然存在问题。。这更像是一个网站特有的问题。

我到处都读到这是推荐的做法,但找不到问题的根源。有什么想法吗?

- Most of the sites that use the plugin are WordPress sites
- The js reference is included directly into the HTML, inside the body

如果它已经在网站代码(HTML源代码)中,那么它不可能是浏览器或JavaScript问题。正如您已经正确假设的那样,这一定是服务器端的问题。

也许你的插件所在的页面正在转换这些链接。他们不识别双斜杠,所以他们认为这是服务器上的一个相对url,因此准备了协议和域。

也许他们使用了某种代码优化/JavaScript缩小来改变你的链接。