是否有更好的方法来编写此过程来完成我的网站的相对网址?
if (!url.startsWith('http')) {
url = + location.protocol + '//' + location.host + (url.startsWith('/') ? '' : '/') + url
});
最佳答案
您可能需要考虑让服务器端提供您网站的基本 URL。原因是,通常更容易访问服务器上站点的基本 URL。您需要做的就是拥有一个服务器端脚本/操作来生成如下所示的脚本:
var siteBaseUrl = 'http://example.com/';
// use string replacement to remove any leading slash on the incoming url.
function makeAbsoluteUrl( url )
{
if (!url.match(/^http/)) {
url = siteBaseUrl + url.replace(/^\//,'');
})
return url;
}
您可以在网页中将其引用为:
<script type="text/javscript" src="/scripts/baseUrl.php"> // adjust for platform
</script>
并将其用作
url = makeAbsoluteUrl( url );
关于JavaScript:完成自己网站的相对 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2216856/