【问题标题】:Jquery - Adding a function to element within Iframe?Jquery - 向 Iframe 中的元素添加函数?
【发布时间】:2009-10-02 11:51:10
【问题描述】:

我尝试了很多方法,但都没有奏效。例如,一个工作:

         $('#iframeid').ready( 
        function()
        {
        alert('Hello');
        }
    );

但跟随没有(提醒你好,但不要集中注意力。)

     $('a:link').click(
     function()
     {
        alert('Hello'); 
        var iframeRef = document.getElementById("iframeid");
        $(iframeRef).focus();
    $(iframeRef).contents().find("#smthing").focus(); 
     }); 

请帮我解决。

【问题讨论】:

  • 您无法访问任何显示其他域的 iFrame。

标签: javascript jquery function iframe element


【解决方案1】:

您正在尝试做的是访问另一个文档。大多数(如果不是全部)浏览器会阻止这一点,因为这是一个安全问题。让脚本加载并读取其他网站的内容是……好吧……邪恶。

【讨论】:

    【解决方案2】:

    出于安全考虑,您不能使用 Javascript 访问 iframe 中的其他域。在某些浏览器中,来自同一域的 iframe 甚至可能存在问题。

    如果可能,我会尽可能避免使用 iframe。如果你有 HTML 内容,你可以用divoverflow:auto 内联添加它以达到相同的效果。

    顺便说一句,你为什么使用document.getElementById("iframeid")?您必须知道您可以在 jQuery 中执行 $('#iframeid'),因为您在下一行执行此操作。

    【讨论】:

      【解决方案3】:

      Same origin 策略限制访问从 javascript 加载到 iframe 属性中的另一个域。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-02
        • 1970-01-01
        • 2011-06-10
        • 2015-01-24
        相关资源
        最近更新 更多