【问题标题】:jQuery - Display URL of iFrame clickedjQuery - 点击的 iFrame 的显示 URL
【发布时间】:2013-01-03 00:50:42
【问题描述】:

我有多个 URL 的 MySQL 数据库。 每个 URL 都显示在一个 iframe 中,因此 3 个 URL = 3 个 iframe。我是这样显示的。

...
$resu = mysql_fetch_array ($consultation);
echo "<iframe src='".$resu['URL']."' onload='load(this)' id='iframe'></iframe>";
...

通过这个脚本,我能够知道点击的 iframe 的 URL(不完全是,除了它在 jsFiddle 中不起作用,但在我的 PC 中是的。(http://jsfiddle.net/7UxHv/))。

<script type='text/javascript'>
$(window).load(function(){
    $('iframe#iframe').load(function(){
        alert($('#iframe').attr('src'));
    });
});
</script>

但实际上它显示的是第一个数据库行,而不是点击的那一行。

无论如何要显示使用该脚本或其他表单单击的那个?谢谢。

【问题讨论】:

    标签: iframe


    【解决方案1】:

    编辑:

    请注意,您正在生成具有相同 id 的多个元素。id 应该是唯一的。

    这可能就是为什么你只让第一行工作的原因。


    我认为下面的代码应该可以工作:

    HTML:

    <iframe src='.$resu['URL'].' onload='loadIframe(this)' scrolling='no'></iframe>​
    

    JS:

    window.loadIframe = function(frame) {
        alert("Loaded "+$(frame).attr('src'));
    }
    

    【讨论】:

    • iframe 不能有确切的 url,这是一个例子。我需要它,就像在 OP 中一样。 iframe src='".$resu['URL'].",因为我使用 PHP 显示来自数据库的结果
    • 可能是你说的,所有的iframe都有相同的id,但是iframe必须有一个id才能和jquery关联,那我该怎么办呢?
    • 你不需要 id - 当事件处理程序被调用(无论是点击事件还是加载事件)时,“this”变量指向触发事件的元素,所以你可以做 $(this) 而不是 $('#id-of-element')
    • aaaaa 好的,但我使用 id 有一个原因,因为我有另一个脚本,现在我需要将它与这个脚本结合起来,如果你这样做,你就是上帝 :) pastebin.com/Zjrtz8CG
    • 为您希望第二个脚本运行的 iframe 提供一个类(例如 class="reload-counter"),然后通过 $('.reload-counter') 设置另一个脚本.load(...) 而不是使用 id。一般来说,如果您想为多个元素触发代码,请使用类而不是 id。
    【解决方案2】:

    试试这个...将'src'更改为'data-src'...并尝试以下...

    echo "<iframe data-src='".$resu['URL']."' onload='load(this)' id='iframe'></iframe>";
    
    $('#iframe').click(function() {
        alert($('#iframe').data('src'));
    });
    

    也不要使用 onload 尝试使用 onclick()...

    可能有用...

    【讨论】:

    • 我已经尝试了数百种方法,但我认为 onclick 不起作用。现在我试试data-src,不知道和src有什么区别 x)
    • iframe 不与属性 data-src 一起显示,它只与 src 一起显示。
    猜你喜欢
    • 1970-01-01
    • 2013-03-07
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多