【问题标题】:How to call a JS function on HTML page loaded inside OBJECT Tag如何在 OBJECT 标签内加载的 HTML 页面上调用 JS 函数
【发布时间】:2012-07-19 13:51:51
【问题描述】:

我在标签内加载 HTML 页面,由于 iPAD 不支持 iFrame,我使用标签在容器内加载外部 html 页面。一切正常,现在我想从加载的页面(加载的页面)调用一个函数。谁能帮我找出解决办法?

"<object id='page' width='100%' height='100%' data='"+pageURL+"' style='position:absolute;'></object>";

【问题讨论】:

    标签: javascript jquery html object


    【解决方案1】:

    我终于找到了访问对象标签中加载的 HTML 页面的 Javascript 功能的解决方案。

    window.objectID.functionName();
    

    这将调用函数(“但它在 IE8 中不起作用”)。对 IE 使用 iframe。

    【讨论】:

    • 也不适用于 Chrome。你能发布一个工作示例吗?
    【解决方案2】:

    如果您的意思是您希望您的代码在加载页面的上下文中调用 JavaScript 函数,那么如果页面不是来自同一来源(从它的声音来看,它们不是),您就不能.被Same Origin Policy 禁止。您页面中的 JavaScript 代码无法与其他页面交互。

    如果页面来自同一来源,object 元素的 contentWindowcontentDocument 属性应该提供对它的访问,尽管我没有在 object 元素上使用它们并且不知道它们的支持程度如何。

    【讨论】:

    • 非常感谢 Crowder,这两个文件都来自同一个域。我将尝试使用 contentWindow 或 contentDocument 进行访问。并让你知道结果
    • 嗨 Crowder,我尝试了以下代码,发现它不起作用。这是 Loading PAGE# 中的内联代码&lt;SCRIPT&gt; function getFunction(){ var objWind = document.getElementById("myObj"); objWind.contentWindow.loadedPageFunction(); objWind.contentDocument.loadedPageFunction(); } &lt;/SCRIPT&gt; &lt;BODY&gt; &lt;OBJECT id="myObj" width="800" height="700" data="page.html"&gt;&lt;/OBJECT&gt; &lt;input type="button" value="callFunction" onClick="getFunction()"&gt;&lt;/input&gt; &lt;/BODY&gt;#CODE。 &lt;SCRIPT&gt; function loadedPageFunction(){ alert("Loaded PAge Function Called"); } &lt;/SCRIPT&gt;
    • 我终于找到了访问对象标签中加载的HTML页面的Javascript函数的解决方案。 window.objectID.functionName(); 这会处理的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多