我想比较用户当前所在的url,如果它等于3个不同的url,则应该写入某个元标记,如果不是,则应写入另一个元标记。但是当我编写 JavaScript 时,它会将所有代码写为字符串,而不是执行
这就是我在 .jsp 文件中尝试的内容
<script type = "text/javascript">
if(window.location.href == ("https://www.farmers.com/sitemap/"||"https://www.farmers.com/contact-us/send-message/" || "https://www.farmers.com/payments/") ) {
document.write('<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">');
} else {
document.write('<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">');
}
</script>
当我看到我得到的 View 页面源代码时,它永远不会执行
<script type = "text/javascript">
if(window.location.href == ("https://www.farmers.com/sitemap/"||"https://www.farmers.com/contact-us/send-message/" || "https://www.farmers.com/payments/") ) {
document.write('<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">');
} else {
document.write('<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">');
}
</script>
我希望能够确定我所在的网址,并且一旦用户检查查看页面源代码,他们就可以看到他们所在的特定网址的特定元标记。 这应该用java还是javascript编写? 我如何让 JavaScript 执行并写入 View 页面源代码?
这是我的jsp文件
<%--
==============================================================================
headlibs.jsp includes the scripts and css to be included in the head tag.
==============================================================================
--%><%@include file="/libs/foundation/global.jsp"%><%
%>
<cq:includeClientLib css="falcon.base.bootstrap.rwd"/>
<script type = "text/javascript">
if(window.location.href == ("https://www.farmers.com/sitemap/"||"https://www.farmers.com/contact-us/send-message/" || "https://www.farmers.com/payments/") ) {
document.write('<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">');
} else {
document.write('<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">');
}
</script>
<script language="javascript1.2" src="/etc/designs/falcon/rwd/clientlibs_base/js/at.js"></script>
<script type="text/javascript" src="/etc/designs/falcon/rwd/clientlibs_base/js/respond.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
最佳答案
如果您只需要在现代浏览器中工作,那么您可以这样做...
["https://www.farmers.com/sitemap/ ","https://www.farmers.com/contact-us/send-message/ ","https://www.farmers.com/payments/ "].includes(window.location.href);
参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes用于旧版浏览器的填充。
如果您不想处理polyfill,也可以使用以下代码:
["https://www.farmers.com/sitemap/ ","https://www.farmers.com/contact-us/send-message/ ","https://www.farmers.com/payments/ "].join('').indexOf("https://www.farmers.com/payments/ ");
一旦到位,我认为您很快就会意识到,有很多这种类型的基本检查无法解释的边缘情况......您可能最终会问有关正则表达式或模式匹配的其他问题.
关于javascript - 如何使用 javascript 或 java 获取当前 url 用户位于 .jsp 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57227396/