2016-12-25 286 views
0

如何将randString的值传递给URLURL = randString不起作用。如何通过html获得id值

<!DOCTYPE html> 
<html> 
<body> 
<h1 id ="test">s1</h1> 
<script> 
    var str1 = "http://www.vofoo.ru/reklam1.html"; 
    var str2 = "http://www.viewtubes.ru/reklam1.html"; 
    var str3 = "http://nofnof.xyz/reklam1.html"; 
    var array = [str1, str2, str3]; 
    var randString = array[Math.floor(Math.random()*array.length)]; 
    document.getElementById("test").innerHTML = randString; 
</script> 
<META HTTP-EQUIV=REFRESH CONTENT="1; URL=document.getElementById(test).value">  
</body> 
</html> 

关闭脚本标签URL无法识别randString

回答

2

后你为什么使用元时,你可以在JS本身做到这一点?

有这样的说法:

window.location.href = randString; 

像这样:

var str1 = "http://www.vofoo.ru/reklam1.html"; 
var str2 = "http://www.viewtubes.ru/reklam1.html"; 
var str3 = "http://nofnof.xyz/reklam1.html"; 

var array = [str1, str2, str3]; 
var randString = array[Math.floor(Math.random()*array.length)]; 
document.getElementById("test").innerHTML = randString; 
window.location.href = randString; 
+1

作品!谢谢 – user3422485

0

您可以使用javascript将属性设置为meta标签。动态。

但请确保meta标签必须在head部分html

我不知道你为什么想尝试metarefresh。你可以用简单的javascript来做到这一点。

希望这个片段可以帮助您与meta刷新

var str1 = "http://www.vofoo.ru/reklam1.html"; 
 
var str2 = "http://www.viewtubes.ru/reklam1.html"; 
 
var str3 = "http://nofnof.xyz/reklam1.html"; 
 

 
var array = [str1, str2, str3]; 
 
var randString = array[Math.floor(Math.random()*array.length)]; 
 
document.getElementById("test").innerHTML = randString; 
 
var metaTag = document.getElementById("meta-refresh"); 
 
metaTag.setAttribute("content", "1;URL=" + randString); 
 

 
console.log(metaTag.getAttribute("content")); //just to check URL is attached to meta tag.
<!DOCTYPE html> 
 
<html> 
 
<body> 
 
<h1 id ="test">s1</h1> 
 

 
<script> 
 

 

 
</script> 
 
<META HTTP-EQUIV=REFRESH id="meta-refresh"> 
 

 
</body> 
 
</html>

+0

metaTag.setAttribute(“content”,“1; URL =”+ randString) – user3422485

+0

有一个异常null – user3422485

+0

它究竟在哪里? –

0

它看起来像你的目标是使用meta标记来重定向。我已经将刷新停止在点击h1之后的60秒和10秒。顺便说一句,元总是属于头。

代码片段

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <META HTTP-EQUIV=REFRESH CONTENT="60;" /> 
 
</head> 
 

 
<body> 
 

 
    <h1 id="test">s1</h1> 
 
    <p>Click title<sup>▲▲▲</sup>and wait 10 seconds</p> 
 
    <script> 
 
    //You can use window.location to the same effect 
 
    var here = window.location; 
 
    var str1 = "http://www.msn.com"; 
 
    var str2 = "http://www.w3schools.com"; 
 
    var str3 = "http://bing.com"; 
 
    var test = document.getElementById('test'); 
 
    var meta = document.querySelector('meta'); 
 
    var array = [str1, str2, str3]; 
 
    var randString = array[Math.floor(Math.random() * array.length)]; 
 
    test.textContent = randString; 
 
    test.onclick = function() { 
 
     meta.setAttribute("content", "10; " + randString); 
 
    } 
 
    </script> 
 

 

 
</body> 
 

 
</html>