例如,我想改变这个:
<a href="javascript: void(null)" class="jv-redirectCandidate"
key="pcxe7gwP"
>Some Name</a>
进入这个:
<a href="https://www.foo.com/something.aspx?p=pcxe7gwP">Some Name</a>
我需要当前属于
的字符串“pcxe7gwP”key="pcxe7gwp"
然后我想将它附加到网址的一部分
https://www.foo.com/something.aspx?p=
并用href
代替当前的
"javascript: void(null)"
我正在使用Tampermonkey Chrome扩展程序并尝试创建用户脚本来完成此操作。我是用户的新手,非常乐意为您提供帮助。谢谢!
答案 0 :(得分:0)
如果我理解正确,这就是你要找的东西:
<html>
<script type="text/javascript">
function changeHREF(element){
element.href = "https://www.foo.com/something.aspx?p=" + element.key;
}
</script>
<body>
<a href="#" onclick="javascript:changeHREF(this);" class="jv-redirectCandidate" key="pcxe7gwP" id="myId">Some Name</a>
</body></html>
另一种可能的解决方案:
<html>
<script type="text/javascript">
function changeHREF(){
elements = document.getElementsByClassName("jv-redirectCandidate");
for(i = 0; i<elements.length; i++) {
elements[i].href = "https://www.foo.com/something.aspx?p=" + elements[i].getAttribute("key");
}
}
</script>
<body onload="javascript:changeHREF()">
<a href="javascript:void(null);" class="jv-redirectCandidate" key="pcxe7gwP">Some Name</a>
</body></html>
嗯,还有其他解决方案可以达到相同的效果。但是,我认为这不是主题。
干杯
答案 1 :(得分:0)
这是完整的脚本,可以在Tampermonkey或Greasemonkey中使用。它使用jQuery来轻松和有力:
// ==UserScript==
// @name _De-javascript links
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
introduced in GM 1.0. It restores the sandbox.
*/
//-- Get links with the class "jv-redirectCandidate".
var linksToFix = $("a.jv-redirectCandidate");
//-- Loop through the links
linksToFix.each ( function () {
var jThis = $(this); //-- An individual link
var key = jThis.attr ("key");
jThis.attr ("href", "https://www.foo.com/something.aspx?p=" + key);
} );
答案 2 :(得分:0)
在Greasemonkey中测试,不需要jquery。
// ==UserScript==
// @name Change link href with it's key
// @namespace test
// @grant none
// @version 1
// @include http://localhost:8000/*.html
// ==/UserScript==
var prefix = 'https://www.foo.com/something.aspx?p=';
var links = document.querySelectorAll('a.jv-redirectCandidate[key]');
for (var i = 0; i < links.length; i += 1) {
var link = links[i];
link.href = prefix + link.getAttribute('key');
}