我在使用 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 上运行吗?