gpt4 book ai didi

javascript - 获取值(value)数据并根据每个链接进行变化?

转载 作者:行者123 更新时间:2023-12-02 23:19:43 25 4
gpt4 key购买 nike

如何将“data-token”的值降低到“??????????????????”在脚本中。它会随着每个链接而变化吗?例如:

  • “下载 01”链接使用 token :“1111”,

  • “下载 02”链接使用 token :“2222”,

  • “下载 04”链接使用 token :“444444”,

<a data-token="1111" href="https://example.com/download=12345">Download 01</a>
<a data-token="2222" href="https://example.com/download=123456">Download 02</a>
<a data-token="444444" href="https://example.com/download=123457">Download 04</a>
<script>
window.linkurl = {
token: '??????????????????',
domains: ``,
patterns: `download=`
};
(function() {
function doHash(el, token) {
el.href = 'https://example.com/full/?api='
+ token
+ '&url='+btoa(el.href)+'=&type=1';
console.log(el.href);
}

var token = linkurl.token || '';
var domains = linkurl.domains.split('\n') || [];
domains.push('example.com');
domains.push('www.example.com');
domains.push(location.hostname);
var patterns = linkurl.patterns.split('\n').filter(function(item) {return Boolean(item)}) || [];
var aTags = document.querySelectorAll('a[href]:not([href^="javascript"]):not([onclick]):not([ng-click])');
aTags.forEach(function(el) {
if (domains.indexOf(el.hostname) === -1) {
doHash(el, token);
return;
}
patterns.forEach(function(pattern) {
try {
var regex = new RegExp(pattern);
if(regex.test(el.href)) doHash(el, token);
} catch (e) {console.log(e)}
});
});
})();
</script>

更新链接:http://jsfiddle.net/Lu8shmco/

最佳答案

您可以使用 Element.dataset 属性,它提供对带有 data-* 前缀的自定义属性的读/写访问。

因此您可以使用获得值(value)

el.dataset.token

window.linkurl = {
token: '??????????????????',
domains: ``,
patterns: `download=`
};

function doHash(el) {
el.href = 'https://example.com/full/?api=' +
el.dataset.token +
'&url=' + btoa(el.href) + '=&type=1';
console.log(el.href);
}

var domains = linkurl.domains.split('\n') || [];
domains.push('example.com');
domains.push('www.example.com');
domains.push(location.hostname);
var patterns = linkurl.patterns.split('\n').filter(function(item) {
return Boolean(item)
}) || [];
var aTags = document.querySelectorAll('a[href]:not([href^="javascript"]):not([onclick]):not([ng-click])');
aTags.forEach(function(el) {
if (domains.indexOf(el.hostname) === -1) {
doHash(el);
return;
}
patterns.forEach(function(pattern) {
try {
var regex = new RegExp(pattern);
if (regex.test(el.href)) doHash(el);
} catch (e) {
console.log(e)
}
});
});
<a data-token="1111" href="https://example.com/download=12345">Download 01</a>
<a data-token="2222" href="https://example.com/download=123456">Download 02</a>
<a data-token="444444" href="https://example.com/download=123457">Download 04</a>

关于javascript - 获取值(value)数据并根据每个链接进行变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57000927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com