对象嵌入链接

时间:2016-03-30 04:39:35

标签: javascript html

<script>
var a=Math.floor((Math.random() * 10) + 1)
//alert(a); (For testing)
</script>
<object data='http://example.com/'+a+'.php' height='100%' type='text/html' width='100%'/>

我想随机调用php的名字就像这样。谢谢。我是html的新手。 我在博客html编辑器中尝试这个。

3 个答案:

答案 0 :(得分:1)

  

您无法在JavaScript 中使用DOM API连接HTML个变量。将id属性分配给element并设置data属性。

var a = Math.floor((Math.random() * 10) + 1);
var obj = document.getElementById('obj');
obj.setAttribute('data', 'http://example.com/' + a + '.php');
console.log(obj.outerHTML); //To demonstrate
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
<object id='obj' height='100%' type='text/html' width='100%'></object>

答案 1 :(得分:0)

我建议使用DOM Api,如下所示:

  var generaterandom = function() {
    var random = Math.floor((Math.random() * 10) + 1);
    var obj = document.createElement("object");
        obj.setAttribute("data", 'http://example.com/' + random + '.php');
        obj.setAttribute("type", 'text/html');
        obj.setAttribute("height", '100%');
        obj.setAttribute("width", '100%');
    return obj;
  }

您可以像这样使用此方法:

var ob = generaterandom()
document.write(ob.outerHTML)

var generaterandom = function() {
  var random = Math.floor((Math.random() * 10) + 1);
  var obj = document.createElement("object");
      obj.setAttribute("data", 'http://example.com/' + random + '.php');
      obj.setAttribute("type", 'text/html');
      obj.setAttribute("height", '100%');
      obj.setAttribute("width", '100%');
  return obj;
}
object {
  background:red;
  border:1px solid blue;
}
<input onclick="document.body.appendChild(generaterandom())" value="append" type="button">

答案 2 :(得分:0)

你想要在这里完成的任何事情都不清楚,但我认为你需要将下面的HTML代码输出到文档中,这样才能做到这一点

<script type="text/javascript">
  var a=Math.floor((Math.random() * 10) + 1)
</script>

  <object data='http://example.com/'<script> document.write(a);</script>'.php' height='100%' type='text/html' width='100%'/>

如果你是新手并且想要学习,那么请记住明确地告诉浏览器他需要使用的确切类型的脚本

<script type="text/javascript">

,与<script>不同。因为javascript旁边有很多脚本语言。

另一件事,请勿使用&#34; 1.html&#34;等文件名。或&#34; 23.php&#34;这些作为变量名称无效,这将在提前编程时出现问题,使用文件名来破坏变量命名规则,如&#34; a1.php&#34; ,&#34; a2.php&#34;所以上面的代码会改变,如

  <object data='http://example.com/a'+<script> document.write(a);</script>'+.php' height='100%' type='text/html' width='100%'/>

(连词 - html中不需要+标记)

-------------------------如果你在博客中使用它---------------- -

<script>
var a=Math.floor((Math.random() * 10) + 1)

document.write("<object width='100%' height='100%' type='text/html' data='http://www.example.com/"+a+".php'></object>");
</script>

会做到这一点。