每当用户点击网站/正文的任何位置时,我都会创建一个JS代码来打开带有自定义网址的新标签页。
代码如下:
<script type="text/javascript">
function load()
{
window.open(
'https://google.com/',
'_blank' // <- This is what makes it open in a new window.
);
}
</script>
<body onclick="load()">
这段代码工作正常,但我希望这个点击功能只发生一次,直到主网站刷新。当新标签页打开时,它不应该是活动的,而主网站应该是活动的。
但是我尝试了<body onclick=" load(); this.onclick=null;">
它没有工作..因为,它直接声明它是空的。
我希望我清楚,任何帮助都表示赞赏。
答案 0 :(得分:2)
所以你有两个问题:
对于第一个问题:
<script type="text/javascript">
function load() {
document.body.removeEventListener('click', load)
window.open('https://google.com/', '_blank')
}
window.onload = function() {
document.body.addEventListener('click', load)
}
</script>
对于第二个问题:这是不可能的,但你可以打开主网站的页面而不是谷歌:
<script type="text/javascript">
function load() {
// open next page and it will get active
window.open('https://my.domain.com/next_page', '_blank')
// Redirect the current tab to google
location.href = 'https://google.com'
}
window.onload = function() {
document.body.addEventListener('click', load)
}
</script>
<强>更新强>
联合:
<script type="text/javascript">
function load() {
sessionStorage.setItem('redirected', '1')
// open next page and it will get active
window.open('https://my.domain.com/next_page', '_blank')
// Redirect the current tab to google
location.href = 'https://google.com'
}
if (!sessionStorage.getItem('redirected')) {
window.onload = function() {
document.body.addEventListener('click', load)
}
}
</script>