javascript - 在同一个新标签 javascript 中打开多个 url,然后停止最后一个
问题描述
我使用这个脚本在弹出窗口中打开多个 url
<script type="text/javascript" >
var targets = [ //Place target URL here
'https://www.google.com',
'https://www.bing.com/',
'https://www.yahoo.com/'
];
var iTarget;
function nextTarget(){
affiliate = window.open( targets[iTarget], 'target','');
if( ++iTarget >= targets.length ) {
iTarget = 0;
}
}
function showMiniPop() {
iTarget = 0;
nextTarget();
setInterval( nextTarget, 3000 ); //time interval here 3000 = 3 Sec
}
</script>
这会在弹出窗口中打开 3 个 url,每 3 秒旋转一次
我想保持 LAST 打开(在我的示例中为 yahoo.com)。你能帮我吗 ?
解决方案
尝试这样的事情:
var targets = [ //Place target URL here
'https://www.yahoo.com/',
'https://www.google.com',
'https://www.bing.com/'
];
var iTarget;
var finishedIteratingAllElements = false;
var newTab = false;
function nextTarget(){
var getLastItem = targets.slice(-1);
if (targets.slice(0) === targets[iTarget] && !finishedIteratingAllElements) {
// here we open the first time => yahoo
yahooAlreadyOpened = true;
affiliate = window.open( targets[iTarget], 'target','');
}
if (targets.slice(0) !== targets[iTarget] && !newTab) {
// open next tabs in a new tab if not yahoo and we are not yet in new tab
affiliate = window.open( targets[iTarget], '_blank','');
newTab = true;
} else {
// we have new tab, so open in same
affiliate = window.open( targets[iTarget], 'target','');
}
if (targets.slice(0) !== targets[iTarget] && finishedIteratingAllElements) {
// if we iterated all elements, then those who are not yahoo, open in same tab
affiliate = window.open( targets[iTarget], 'target','');
}
if( ++iTarget >= targets.length ) {
iTarget = 0;
}
if (getLastItem === targets[iTarget]) {
finishedIteratingAllElements = true;
}
}
function showMiniPop() {
iTarget = 0;
nextTarget();
setInterval( nextTarget, 3000 ); //time interval here 3000 = 3 Sec
}
showMiniPop();
推荐阅读
- c++ - 使用 C++ 和 CUDA 在 GPU 上读取视频
- azure - 如何在同时更新 Azure 资源(例如使用 terraform)时找出 409 冲突的根本原因?
- c# - 抛出异常:System.Data.dll 中的“System.ArgumentException”
- microsoft-graph-api - b2cAuthenticationMethodsPolicy 方法的权限不足
- javascript - jQuery复制到剪贴板,手动输入没有ID的文本
- r - 如何测试依赖于 menu() 用户输入的函数
- android - @BeforeAll 在 JUnit5 中没有按预期运行
- python - 无法在 virtualbox 中使用 spyder (Python) 访问 Director 中的文件
- wordpress - Wordpress 第二个帖子类型的帖子?
- python - 为什么在 VS Code 中使用 MiniConda 时出现错误?