我有以下问题使用HTML和javascript。我的网站在div中有一个HTML页面,如下所示:
<object name="cont" type="text/html" data="myHtmlPage.html"></object>
我有一个javascript函数(链接到主页),改变该对象的内容。
代码工作得很好,因为我可以在"内部"页面中导航而不改变外部上下文。
问题是,现在我需要调用,从加载在该对象的html页面,在主页javascript上的函数(需要在主页上调用,因为我必须改变主页div的一些属性)
有办法吗?
我希望我说的很清楚,谢谢你的帮助。
Matteo
编辑:我有一个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);}`
}
我有另一个页面,让我们称之为service1 .html,这是通过该函数在iFrame加载,正确工作。
我需要从该页调用父页上的changeService函数,这样我就可以更改服务和后台。
根据JSantosh的建议,我在service1.html中有一个javascript函数,它调用方法parent.changeService(service)
,但不做任何动作。
我通常通过<script type="text/javascript" src="js/serviceMenuHandler.js"></script>
在body的顶部加载js,所以在iFrame之前。
希望现在更清楚,谢谢你
编辑2 :
在Firefox中,它可以很容易地调用parent上的函数,就像评论中建议的那样。
有人知道为什么它不能在Chrome上工作吗?
好了,我想我知道你想干什么了。
你想在索引页以外的页面上调用函数changeservice
要做到这一点,最简单的方法是将函数移动到.js文件中,然后将该文件包含在两个页面上,这将使访问.js文件中的函数到包含的任何页面。include看起来像这样。<script src="javascript.js"></script>