<a href="#url" data-mc-cta="1" style="display:none">Link</a>
在上面的a href
代码中,广告网络javascript将在</head>
标签
之前生成一个随机URL我正在尝试使用JS代码获得随机URL值:
var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
var mcLink = maxConvLink.getAttribute("href");
alert(mcLink);
此代码放在</body>
标记之前。问题是上面的JS代码获取值#url
而不是真正的随机URL值。
据我所知,Javascript按顺序工作,所以,首先广告网络JS代码将url放置到a href
标签,然后我的代码将获得值,但它不像我想的那样工作。
有不同的方法来实现输出。选择一个最适合你需要的
UsingWindow.onload
window.onload = function() {
var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
var mcLink = maxConvLink.getAttribute("href");
alert(mcLink);
}
使用jQuery文档准备函数
$(document).ready(function() {
var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
var mcLink = maxConvLink.getAttribute("href");
alert(mcLink);
});
为了使用jQuery库,您需要包含它
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
使用DOMContentLoaded
事件
document.addEventListener("DOMContentLoaded", function() {
var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
var mcLink = maxConvLink.getAttribute("href");
alert(mcLink);
});
UsingsetTimeout
:
setTimeout(function() {
var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
var mcLink = maxConvLink.getAttribute("href");
alert(mcLink);
}, 1000);
UsingsetInterval
:
var intervalId = setInterval(function() {
var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
if (maxConvLink) {
clearInterval(intervalId);
var mcLink = maxConvLink.getAttribute("href");
alert(mcLink);
}
}, 1000);
使用MutationObserver
var targetNode = document.querySelector('a[data-mc-cta="1"]');
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === "attributes" && mutation.attributeName === "href") {
var maxConvLink = mutation.target;
var mcLink = maxConvLink.getAttribute("href");
alert(mcLink);
}
});
});
observer.observe(targetNode, {
attributes: true
});
UsingIntersectionObserver
var targetNode = document.querySelector('a[data-mc-cta="1"]');
var observer = new IntersectionObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === "attributes" && mutation.attributeName === "href") {
var maxConvLink = mutation.target;
var mcLink = maxConvLink.getAttribute("href");
alert(mcLink);
}
});
});
observer.observe(targetNode, {
attributes: true
});
Usingwindow.addEventListener
window.addEventListener("load", function() {
var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
var mcLink = maxConvLink.getAttribute("href");
alert(mcLink);
});