跨頁面調取方法,也就是說從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();

  就這樣,這個問題也算解決了,但是解決問題的過程不太美妙,東想西湊,總是想找最簡單的方式解決,還是要鑽研每一個方法,爭取都學明白。

  這只是針對自己的一次整理,想把方法記錄下來,下次遇到這種問題的時候就可以解決了。歡迎各位大神指正。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM