Javascript:使用 var 值作为 onclick window.open URL

标签 javascript onclick window.open

如何使用 var 值并将其传递给 window.open url?我真的不擅长这个,所以越简单越好。非常感谢!

<script>
    if (condition) {
        var URL = "http://www.url.com";
    } else {
        var URL = "http://www.url2.com"
    }
</script>
<div id="Banner" data-responsive="225h" onclick="window.open('URL','new_window');">

最佳答案

请注意,window.open 中的 URL 变量周围没有引号。另外,为了更简洁,我将 var URL 部分移出 if/else 逻辑。

<script>
    var URL;
    if (condition) {
        URL = "http://www.url.com";
    } else {
        URL = "http://www.url2.com"
    }
</script>
<div id="Banner" data-responsive="225h" onclick="window.open(URL,'new_window');">

更好的解决方案是完全摆脱内联点击处理程序,如下所示:

<div id="Banner" data-responsive="225h"> ... </div>
<script>
    function openWindow() {
        var URL;
        if (condition) {
            URL = "http://www.url.com";
        } else {
            URL = "http://www.url2.com"
        } 
        window.open(URL,'new_window');
    }

    var banner = document.getElementById('Banner');
    banner.addEventListener('click', openWindow, false); //using addEventListener for brevity
</script>

关于Javascript:使用 var 值作为 onclick window.open URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21874011/

相关文章:

javascript - 加载所需的库时,日期时间选择器不会加载

javascript - 将 if 语句添加到出生日期的强制转换中

javascript - 无法在 React Native 中导入其他组件

javascript - 从 Javascript 调用代码隐藏

android - 机器人 : How to get button id from onClick method described in XML?

java - div 类包含 onclick 元素如何在 selenium 中处理它

javascript - 多个 if 条件中的 window.open() 在 javascript 中不起作用

javascript - window.open() 已处于全屏模式时出现问题

javascript - 如果 `if` 语句匹配,如何将图像附加到表中?

javascript - 在 IE11 中使用 window.opener