Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JS加载iFrame时生成链接变量_Javascript_Variables_Getelementbyid - Fatal编程技术网

Javascript 使用JS加载iFrame时生成链接变量

Javascript 使用JS加载iFrame时生成链接变量,javascript,variables,getelementbyid,Javascript,Variables,Getelementbyid,我想用JS将HTML页面加载到iFrame中,而不是使用通常的iFrame目标。说来话长。这正是我所需要的。我的剧本是 onclick = function buttonLife() { var el=document.getElementById("divContent"); el.innerHTML="<iframe width=1024 height=702 scrolling=no name=bottomFrame frameborder=0 src=page.ht

我想用JS将HTML页面加载到iFrame中,而不是使用通常的iFrame目标。说来话长。这正是我所需要的。我的剧本是

onclick = function buttonLife() {
    var el=document.getElementById("divContent");
    el.innerHTML="<iframe width=1024 height=702 scrolling=no name=bottomFrame frameborder=0 src=page.html></iframe>";
}
onclick=function buttonLife(){
var el=document.getElementById(“divContent”);
el.innerHTML=“”;
}
我的HTML是:

<a href="#" onclick="buttonLife();">BUTTON</a>;
它是有效的。但它会加载一个已经由上述java函数定义的页面。但是,如果我想使用以下HTML将页面加载到每个按钮的iFrame变量中:

<a href="#" onclick="buttonLife('page2.html');">BUTTON2</a>

我知道我需要将have函数更改为

onclick = function buttonLife() {
    var el=document.getElementById("divContent");
    el.innerHTML="<iframe width=1024 height=702 scrolling=no name=bottomFrame frameborder=0 src='link'></iframe>";
}
onclick=function buttonLife(){
var el=document.getElementById(“divContent”);
el.innerHTML=“”;
}

但它不起作用。救命啊!谢谢

所以我用你的代码在JSFIDLE中试用,效果很好:

我做了以下修改:

  • 删除了无意义的
    onclick=
  • 这样您就可以将URL传递给变量
    pageUrl
  • 已删除
    href=“#”
    以便在单击链接时不会移动页面
  • 我添加了
但是,这些只是为了创建真实世界的实现而进行的修饰/修改

如果您像我一样使用代码,这应该可以工作,除非您有其他问题,例如您在某处重新定义了函数,或者您试图在定义函数之前调用该函数。

尝试以下操作:

function buttonLife(page_url)
{
  var el = document.getElementById("divContent");
  el.innerHTML = "<iframe width=1024 height=702 scrolling=no name=bottomFrame frameborder=0 src=" + page_url + "></iframe>";
}
功能按钮生活(页面url)
{
var el=document.getElementById(“divContent”);
el.innerHTML=“”;
}

此外,我建议您使用:

<a href="javascript:buttonLife('page1.html')">BUTTON</a>;
  • 创建的函数不接受任何参数;您正试图传递它
    'page2.html'
    ,但它不需要此输入
  • 您还希望
    链接
    变量自动插入,但Javascript不会在字符串中插入变量。相反,解决方案是将变量与字符串连接起来
  • onclick=function buttonLife()
    可能不会执行您希望它执行的操作;它所做的是定义一个名为
    buttonLife
    的函数,并将其存储到名为
    onclick
    的变量中。相反,您只需要创建函数
    buttonLife()
  • 以下是为解决上述问题而更正的函数:

    function buttonLife( page ) {
        var el=document.getElementById("divContent");
        el.innerHTML="<iframe width=1024 height=702 scrolling=no name=bottomFrame frameborder=0 src='" + page + "'></iframe>";
    }
    
    
    <a href="#" onclick="buttonLife('page2.html');">BUTTON2</a>
    
    功能按钮生活(第页){
    var el=document.getElementById(“divContent”);
    el.innerHTML=“”;
    }
    

    这是一个很好的基本介绍,可以帮助您避免此类问题。

    我建议您尝试解释一下这个问题;已经有一段时间没有人问了,虽然我已经看了,但我仍然不知道你需要什么帮助。单击
    a
    元素可以工作,还是不工作?如果它不起作用,它应该有什么影响;怎么会出错呢?值得一看这篇文章,顺便提一下。不确定哪一部分不清楚。是的,正如我所说,它是有效的。如果我想加载一个由Java函数确定的页面。这很有效。接下来的一句话是“但是它加载了一个已经由上面的java函数定义的页面。但是,如果我想将页面加载到每个按钮的iFrame变量中…”谢谢提示。是的,有很多错误。谢谢你的澄清。现在它起作用了。谢谢通常不建议使用
    href=“javascript:/*一些js*/”
    (例如)。选择JavaScript事件。另外,
    javascript:
    方法在IEs中可能会产生其他(可能是不希望的)后果:。@Robin Winslow,谢谢链接。但无论如何,我认为href=“javascript()”是好的,因为用户需要知道这个链接的用途(或者去哪里)。