【问题标题】:How to make a crypted link work with "Open in new tab"?如何使加密链接与“在新选项卡中打开”一起使用?
【发布时间】:2014-04-30 16:18:32
【问题描述】:
我有一个这样的链接:
<a href="javascript:goNextPage('JERfyuZEnhEjfdGfgre543gREZf65vRvf35HGdv89g')">test</a>
在任何浏览器上,如果我想在新标签页上打开此链接,我会得到一个空白页面,这很正常,因为它是 javascript 代码,请注意确实是一个链接...
但我希望用户能够在新标签中打开,而无需解密链接(SEO 很重要),有什么办法吗?
任何建设性的意见将不胜感激。
谢谢
【问题讨论】:
标签:
javascript
html
hyperlink
tabs
【解决方案1】:
我认为您不能直接解密并在新标签中打开,但您可以更改两个步骤的顺序以便在新标签中打开链接:
先做一个这样的链接:
<a href="?id=JERfyuZEnhEjfdGfgre543gREZf65vRvf35HGdv89g" rel="nofollow" target="_blank">Test</a>
这将在新选项卡中打开当前页面,但在 url 中有一个附加参数。
现在,当页面在新选项卡中加载时,您可以预先检查 ID 是否使用 php 设置,或者如果它应该是纯 js 解决方案,请检查如下参数:
var $_GET = {};
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
function decode(s) { return decodeURIComponent(s.split("+").join(" ")); }
$_GET[decode(arguments[1])] = decode(arguments[2]);
});
custom_url_decrypt_function($_GET["id"]); //Your Own Function which redirects
(您可以了解更多关于获取 URL 参数here)
在此代码示例中,您只能将 custom_url_decrypt_function 替换为您的解密函数的名称。
希望它有所帮助:)