跨页面调取方法,也就是说从a页面调取b页面的方法

  只能说才疏学浅,就这个问题折磨了我好久,快到要交差的时候才解决。

  从发现这个问题我试了三种解决方式,首先当然是要用公共js来解决了,把要调取的方法写在同一个js文件里面,然后两个页面同时调用,如果函数简单还好,但是如果函数里面的参数牵扯很多的话,那弯弯绕绕的我恨不得把整个页面都搬过去,所以我嫌麻烦,放弃了。第二种方法就是用iframe框架,让两个页面有关系,然后通过父子页面的关系就可以调取方法了,因为以前从来没有接触过iframe,使用的时候各种各样的问题都出来,然后我又放弃了。这样不好,没有毅力!然后最后一种方法是jQuery里面的load,可以传参,但是我也没整明白到底行不行,所以也没用。最后绕来绕去是在不行了我还是用了iframe,整了一下午,终于解决了。

  我先在a页面里面引入一个iframe标签,我刚开始的想法是想用事件来改变iframe里面的src属性,但是总是没有打开指定的那个页面,看来看去才发现我在写iframe标签的时候把src属性置为空,等到我测试在里面随意写了一个地址,竟然就可以了

<iframe id="myIframe" name="childPage" src="choose_Dept.html" width="100%" frameborder="0" height="100%"></iframe>

  然后我打开了我需要的那个页面b页面,

  a页面:

  $("#myIframe").attr("src","choose_Empl.html");
  $("#myIframe").css({
    "position":'fixed',
    "left":"0",
    "top":"0",
    "width":"100%",
    "height":"100%"
  });

  但是因为我把iframe标签写在a页面的最下面,所以应该让这个iframe置顶,也就是给它一个定位让它在最上面,这样就成功了,然后我在b页面调取a页面的方法再关闭b页面,用parent.window.方法()就可以调用到

  b页面:

 parent.window.setEmpl();

  调用方法成功以后,就是要把iframe关掉,重新回到a页面,但是在b页面怎么关掉a页面里面的iframe,再调用一个方法不就行了,把关掉iframe的方法写在a页面的函数里,一样的原理。

  a页面:

//关闭iframe框架
 function closeIframe(){
   $("#myIframe").attr("src","");
   $("#myIframe").css({
     "width":"0",
     "height":"0"
   });
 }

  b页面:

 parent.window.closeIframe();

  就这样,这个问题也算解决了,但是解决问题的过程不太美妙,东想西凑,总是想找最简单的方式解决,还是要钻研每一个方法,争取都学明白。

  这只是针对自己的一次整理,想把方法记录下来,下次遇到这种问题的时候就可以解决了。欢迎各位大神指正。

 

转载于:https://www.cnblogs.com/yaoya/p/6475671.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值