我们可以看到许多HTML页面使用
src="//example.com/myjavascript.js"
来引入一个.js文件并让浏览器使用http://
/ https://code>根据当前页面URL的方案。
这是一个有效的URI吗?
src="//example.com/myjavascript.js"
来引入一个.js文件并让浏览器使用http://
/ https://code>根据当前页面URL的方案。
这是一个有效的URI吗?
是的,它绝对有效。 这是一个“协议相对” URI。从一开始就在规范中。对于处理 http/https 问题非常有帮助。
阅读更好的描述和注意事项: 是否可以在 <script src="http://..."> 中用 // 替换 http://?
需要注意以下几点:
file://
替换方案,并且不会像使用以 http://
或 https://
开头的完整 URL 时那样从服务器加载 JS 文件。针对现代 Web 开发实践进行编辑:
虽然这个 URL 仍然有效,但现在建议使用 https
来获取第三方资源(并从安全页面提供这些资源)。由于更新的协议和浏览器,以前的性能或兼容性问题已基本解决。
确实是有效的,我刚刚通过艰难的方式学到了这一点!!我们破坏了一个定制功能,因此您应该始终像这样验证URL(在.NET中): 请注意:
"scheme relative" URI (UriKind.RelativeOrAbsolute)
public bool IsValidUrl(string resourceUrl)
{
Uri uri;
if (Uri.TryCreate(resourceUrl.Trim(), UriKind.RelativeOrAbsolute, out uri))
{
return uri.IsWellFormedOriginalString();
}
return false;
}