Javascript 函数在测试站点和实时站点上返回不同的结果
Javascript function returns different results on test site and live site
这是我的第一篇文章。我对javascript相当陌生,并且试图使用以下函数来获取文档名称(由页面上的元素ID模仿)以在以后的函数中使用。 在测试现场,它运行良好。 例如,如果文件http://testserver/options/example.html
则返回"example"
一个实时站点,它总是返回www
<script type="text/javascript">
$(document).ready(function() {
var pageName = function() {
//this gets the full url
var url = document.location.href;
//this removes the anchor at the end, if there is one
url = url.substring(0, (url.indexOf("#") == -1) ? url.length : url.indexOf("#"));
//this removes the query after the file name, if there is one
url = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?")); console.log(url);
//this removes the file extension, if there is one
url = url.substring(0, (url.indexOf(".") == -1) ? url.length : url.indexOf(".")); console.log(url);
//this removes everything before the last slash in the path
url = url.substring(url.lastIndexOf("/") + 1, url.length); console.log(url);
//return
return url; console.log(url);
}
});
</script>
尝试像这样修改此行:
您的测试站点不像实时站点那样具有所有"."(即 www. 或 .com)。通过使用lastIndexOf,您可以在扩展名之前的URL中获取"."的最后一个实例。
将其从:
url = url.substring(0, (url.indexOf(".") == -1) ? url.length : url.indexOf("."));
自:
url = url.substring(0, (url.lastIndexOf(".") == -1) ? url.length : url.lastIndexOf("."));
有关lastIndexOf的更多信息,请访问此链接:
lastIndexOf() on MDN
希望这有帮助。
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- jQuery$.get从物理客户端站点返回403
- AJAX/jquery 在返回的 PHP 站点上不起作用
- 抓取外部网站,但返回“您必须在此站点上使用支持 JavaScript 的浏览器”错误
- JQuery 移动版 - 链接到外部站点,无法使用浏览器后退按钮返回页面
- document.evaluate allways 在某些页面站点上的 singleNodeValue 中返回 nu
- 我的本地站点中的 JavaScript 搜索函数一直返回未定义
- 谷歌分析在多个站点冲突,并返回getElementsByTagName
- 运行命令出错:构建脚本返回非零退出码;将Gatsby JS站点部署到netflix时
- 谷歌'新的reCaptcha站点验证未返回任何响应
- JamAPI(将站点转换为JSON api)javascript代码返回“;[对象对象]”;
- Javascript 函数在测试站点和实时站点上返回不同的结果
- 是否有任何受保护的文件类型在被运行WebMatrix的站点访问时返回404 ?