`
netspirit
  • 浏览: 3850 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

跨域的子页面调用 父页面 问题

阅读更多
通常我们父页面打开一个子页面,子页面调用父页面的一个javascript方法 代码如下即可:

父页面1.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
</HEAD>
<head>
<script> function F() { alert("这是父窗口函数"); } </script>
</head>
<BODY >
<input type=hidden id=F1 onclick="F()">
<input type=button value="打开子窗口" onclick="window.open('2.htm')">

</BODY>
</HTML>

子页面2.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
</HEAD>

<BODY>
第一种调用方式:
<input type=button value="执行父窗口函数" onclick="javascript:window.opener.document.all.F1.click()">
第二种调用方式:

<input type=button value="执行父窗口函数2" onclick="javascript:opener.F()">
</BODY>
</HTML>



但是现在我需要将子页面的路径改为其他服务器上的页面,比如'http://133.123.222.11:8028/baidu/2.htm',代码如下:
父页面3.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
</HEAD>
<head>
<script> function F() { alert("这是父窗口函数"); } </script>
</head>
<BODY onload="open('2.htm')">
<input type=hidden id=F1 onclick="F()">
<input type=button value="打开子窗口" onclick="window.open('http://133.123.222.11:8028/baidu/2.htm')">

</BODY>
</HTML>

子页面依然是上面的子页面2.html,但是子页面需要怎样改动才能调用父页面的F() 方法呢?
分享到:
评论
1 楼 zhaoxy_sunrain 2011-06-26  
JS跨域访问是个头痛的问题,解决方案也是多样的

http://developer.51cto.com/art/201102/245701.htm

相关推荐

    demo_DEMO_子页面刷新父页面iframe_

    在父子页面关系中,IFrame中的页面(子页面)与包含它的页面(父页面)可以进行一定程度的交互。 描述“子页面刷新父页面”指出我们要解决的是从子页面出发,如何刷新包含它的父页面。这通常通过JavaScript来实现,...

    layer弹窗:top.layer弹窗到父页面跨域解决办法

    在IT行业中,跨域问题是一个常见的挑战,尤其是在网页开发中,比如当我们在使用layer弹窗插件时,可能会遇到从子页面弹出一个窗口到父页面的情况。标题和描述所提及的是一个关于如何解决layer弹窗在跨域环境下的问题...

    iframe跨域调用父窗口js.zip

    要解决iframe跨域调用父页面js方法的问题,我们可以利用以下几种技术: 1. **HTML5的postMessage和message事件**:这是现代浏览器支持的一种跨域通信方式。在iframe中,我们可以使用`window.parent.postMessage...

    iframe父页面与子页面通信及相互调用方法

    "iframe父页面与子页面通信及相互调用方法"是一个重要的主题,涉及到跨域安全、DOM操作以及JavaScript/jQuery的交互技术。下面将详细解释这一知识点。 1. **基本概念** - **父页面(Parent Page)**:包含`iframe`...

    在iframe中调用js父页面和子页面方法

    总结,`iframe`中的JavaScript交互涉及到页面间的通信,无论是父页面调用子页面还是子页面调用父页面,都需要理解`window`对象、同源策略以及跨域通信机制。正确使用这些技术,可以在多页面应用中实现更复杂的功能...

    子页面和父页面的相互调用

    在Web开发中,子页面和父页面的交互是常见...在`parent.html`和`childPage.html`中,你可以结合这些技术实现子页面调用父页面的方法,或者父页面向子页面传递数据。记得在实际应用中考虑到安全性、性能和兼容性等问题。

    frame之间以及子页面和父页面间参数传递

    ### Frame之间及子页面与父页面间的参数传递 在Web开发中,特别是在使用JSP(Java Server Pages)技术时,经常需要实现不同`frame`之间的数据交互或子页面与父页面之间的参数传递。这种功能在实际应用中非常常见,...

    子页面访问父页面 和 跨iframe访问

    子页面可以通过JavaScript API来与父页面进行通信。其中,`window.parent`对象是JavaScript提供的一种方式,它代表了当前窗口的直接父窗口。例如,如果子页面想要修改父页面的一个元素,可以这样做: ```javascript...

    同一父页面的一个子页面刷新另一个子页面

    "同一父页面的一个子页面刷新另一个子页面"这个话题聚焦于如何在不重新加载整个父页面的情况下,仅刷新其中一个`iframe`内的子页面。这种技术在提升用户体验、节省网络资源等方面具有显著优势,尤其是在需要动态更新...

    完美解决iframe跨域问题

    - 跨域页面加载完成后,可以通过`window.name`读取到父页面设置的数据。 - 跨域页面处理完数据后,可以通过类似的方式反向传递结果回父页面。 3. **注意事项**: - `window.name`的长度限制取决于浏览器,一般可...

    js中子页面获取父页面ID

    本文将详细介绍如何实现子页面调用父页面ID,并对其进行操作。 #### 理解基本概念 在讨论如何实现这一功能之前,我们先来了解一下几个关键的概念: - **父页面与子页面**:通常情况下,子页面是指通过`&lt;iframe&gt;`...

    跨域页面访问问题解决.doc

    跨域页面访问问题是指在多个系统集成的情况下,主系统以 iframe 或 frameset 的方式将其他子系统的页面嵌进来,导致浏览器阻止 iframe 或 frameset 的 cookie,进而使 SESSION 失效。解决办法是,在子系统的登录代码...

    JS子窗口调用父窗口

    这两种方法可以有效地实现子窗口与父窗口之间的交互,但在实际开发中需要注意浏览器的安全策略限制,特别是跨域问题可能会导致访问被拒绝。因此,在设计此类功能时,建议充分考虑安全性及兼容性问题。

    子页面访问父页面和跨iframe访问(ie 和火狐)

    总结,子页面访问父页面和跨iframe访问涉及浏览器的API使用、同源策略的规避以及跨域通信机制。在开发过程中,要充分考虑到不同浏览器的兼容性,特别是在处理IE等较老版本的浏览器时。同时,确保安全是首要任务,...

    父子页面相互调用总结

    例如,子页面可以修改父页面的某个变量或者调用父页面的函数。这种方式灵活且广泛适用,但需注意跨域安全问题。 `showModalDialog`与`showModelessDialog`类似,也是IE特有功能,用于打开一个模态对话框,即用户...

    iframe跨域常用问题和iframe页面自适应

    当`iframe`尝试加载的页面与包含它的页面不在同一域名下时,就会遇到跨域问题。在处理`iframe`跨域时,主要涉及以下两种方法: 1. **CORS(Cross-Origin Resource Sharing)**:这是一种现代浏览器支持的跨域资源...

    jquery跨域调用 js跨域调用

    在Web开发中,"跨域调用"是一个关键的话题,特别是在使用JavaScript进行AJAX操作时。由于浏览器的同源策略(Same-Origin Policy),一个域下的文档或脚本不能请求另一个域下的资源,除非这两个域完全相同。这限制了...

    html静态页面,实现跨域访问

    请用google浏览器打开,页面百分比缩小到百分之三十再访问。 1、 请在服务器上部署附件war 2、 将【两个工程.zip】压缩包中的webChart.war和jdbc2json.war上传至apache-tomcat-8.0.33/webapps下 3、 启动tomcat,~/...

    iframe父页面与子页面互相调用

    ### Iframe父页面与子页面互相调用 在Web开发中,经常需要用到iframe来嵌套显示其他页面。本文将通过一个具体的示例介绍如何实现iframe中的父页面与子页面之间的互相调用,以及子页面中再嵌套iframe时的相关操作。 ...

    被打开页面操作父页面上的控件

    - 父页面也可以通过设置`window.open()`返回的窗口对象的`opener`属性为`null`来断开与子页面的联系,防止子页面的不恰当操作。 9. **框架(iframe)中的应用**: - 如果子页面是在父页面的iframe中,那么`window...

Global site tag (gtag.js) - Google Analytics