4

我在使用 HTML 和 javascript 时遇到以下问题。我的网站在一个 div 中包含一个 HTML 页面,如下所示:

<object name="cont" type="text/html" data="myHtmlPage.html"></object>

我有一个更改该对象内容的 javascript 函数(链接到主页)。

该代码运行良好,因为我可以在“内部”页面中导航而无需更改外部上下文。

问题是现在我需要从加载在该对象中的 html 页面调用主页 javascript 上的一个函数(需要在主页上调用,因为我必须更改主页 div 的一些属性)

有没有办法做到这一点?

我希望我很清楚,谢谢你的帮助。

马泰奥

编辑:

我有一个包含一系列部分的 index.html(是一个单页网站)。

在一个部分(#services)中,我有两个 div:一个可以选择服务,另一个有 iFrame(#content)(以前是 html 对象)。

在一个 js (serviceMenuHandler.js) 中有这个函数:

function changeService(servizio){
            var pathServizio;
            var pathMenu;
            pathServizio = servizio + ".html";
            pathBg = 'url(img/'+servizio+'.jpg)';
            if(servizio=="applicazioni" || servizio == "progettazione"){
                pathServizio = "errore.html";
            }
            document.getElementById('content').src=pathServizio;
            $("#services").css('background',pathBg);}`
}

我有另一个页面,我们称之为 serivice1.html,它是通过 iFrame 中的该函数加载的,可以正常工作。

我需要从该页面调用父页面上的 changeService 函数,以便更改服务和背景。

正如 JSantosh 所建议的,我在 service1.html 中有一个调用该方法parent.changeService(service)但不执行任何操作的 javascript 函数。

我通常通过<script type="text/javascript" src="js/serviceMenuHandler.js"></script>身体顶部加载js,所以在iFrame之前。

希望现在更清楚,谢谢

编辑 2

使用 Firefox,它可以按照评论中的建议轻松调用父级上的函数。

有人知道为什么它不能在 Chrome 上运行吗?

4

1 回答 1

0

好的,我想我知道您要做什么。

您想在索引以外的页面上调用函数changeservice。

最简单的方法是将函数移动到 .js 文件中,然后在两个页面上包含然后文件,这将使对 .js 文件中的函数的访问权限可以访问包含包含的任何页面。包含看起来像这样。

<script src="javascript.js"></script>

我希望这有帮助。

于 2015-09-18T14:29:30.513 回答