href =“ javascript:void(0)” bbcode链接,但保持可链接状态

时间:2018-10-05 17:35:36

标签: javascript bbcode

我的问题:

人们未经我的许可就复制了我的链接并将其粘贴在他们的网站上。 我的链接不是通过HTML生成的,而是BBcode。

以下是我的bbcode链接结构的示例:

[url=https://example.com/#valuex=xxxx&valuey=yyyy class="hideurl"]Apply[/url]

如果可能,我想:

隐藏整个链接,所以没有人无法复制链接

仅隐藏#valuex=xxxx&valuey=yyyy部分

要考虑:

如上所述,我的页面中有数千个链接。

每个链接在xxxxyyyy中都有不同的值

BBcode链接非常有限,我无法添加更多内容,解决方案应该仅使用类

我应该保持链接正常运行,这只是隐藏信息。

到目前为止,我的计划是:

要隐藏状态栏中的链接,我将使用:

document.querySelector('.hideurl').href="javascript:void(0)";

为了保护登录页面中的地址栏,我将使用:

history.replaceState(null, null, "/");

我还没有什么:

我需要onclick函数来保持所有变量链接正常工作。

我不知道的其他地方

注意:

如果您有更好的方法来解决我的问题,请分享一下,我不是专家,只是试图解决问题的凡人。

结论:

我需要在bbcode中获得相同的结果,就像我在html中使用它一样:

<a href="javascript:void(0)" onclick="location.href='http://example.com'">Link</a>

预先感谢您的帮助

1 个答案:

答案 0 :(得分:-1)

好,完成!

var URLX = document.querySelector('.hideurl').href
document.querySelector('.hideurl').href="javascript:void(0)";
document.querySelector('.hideurl').onclick = function() {myFunction()};

function myFunction() {
window.open( URLX, '_blank');
}

,然后在目标页面中插入以下内容:

history.replaceState(null, null, "/");