gpt4 book ai didi

javascript - 从 html 对象或 iframe 调用 javascript

转载 作者:搜寻专家 更新时间:2023-10-31 21:47:50 26 4
gpt4 key购买 nike

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

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

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

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

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

有办法吗?

我希望我已经清楚了,谢谢你的帮助。

马特奥

编辑:

我有一个包含一系列部分的 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在 body 的顶部,所以在 iFrame 之前。

希望现在更清楚,谢谢

编辑 2:

使用 Firefox,它可以很容易地按照评论中的建议调用父函数。

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

最佳答案

好的,我想我知道你想做什么。

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

执行此操作的最简单方法是将函数移动到 .js 文件中,然后在两个页面上包含然后文件,这将允许访问 .js 文件上的函数到包含包含的任何页面。包含看起来像这样。

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

我希望这对您有所帮助。

关于javascript - 从 html 对象或 iframe 调用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32309360/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com