如何使用var值并将其传递给window.open
网址?我真的不擅长这个,所以越简单就越好。非常感谢你!
<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');">
答案 0 :(得分:3)
请注意,URL
中的window.open
变量没有引号。另外,为了更简洁,我将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>
答案 1 :(得分:0)
<script>
function a() {
if (condition) {
var URL = "http://www.url.com";
}
else {
var URL = "http://www.url2.com"
}
window.open(URL);
}
</script>
<div id="Banner" data-responsive="225h" onclick="a();">click me</div>
替代解决方案
答案 2 :(得分:0)
如果问题的关键是要有一个可点击的,格式化的html区域,你可以使用一个锚点并在其中包含嵌套的html元素。我看到这个更干净了。
<a href="http://www.google.com" target="_blank">
<p> I am an element inside an anchor</p>
<!-- you can put an image here instead -->
</a>
http://jsfiddle.net/CpXVB/