最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS關(guān)閉子窗口并且刷新上一個窗口的實現(xiàn)示例

 更新時間:2020年03月10日 12:03:14   作者:貓吃素  
這篇文章主要介紹了JS關(guān)閉子窗口并且刷新上一個窗口的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在開發(fā)后臺項目的時候產(chǎn)品那邊提出了這個一個需求:用戶點擊“選擇模板”的時候會彈出一個新窗口,在新窗口選擇模板點擊確定后,會關(guān)閉當前的新窗口,并且原來的那個窗口自動顯示用戶在新窗口的選擇項。
這樣會涉及到一個技術(shù)點,就是怎么通過JS來實現(xiàn)關(guān)閉子窗口并且刷新上一個窗口。

百度了很久,嘗試了以下幾種方案:

方案一:通過在子窗口的關(guān)閉函數(shù)中加入以下代碼,即可實現(xiàn)父窗口的刷新。

window.opener.location.href = window.opener.location.href;

方案二:也是在子窗口的關(guān)閉函數(shù)中加入以下代碼:

function closeMeAndReloadParent(){
  opener.location.reload();
  window.close();
}

以及方案三window.opener.location.reload();

方案四window.opener.reload();等等

結(jié)果發(fā)現(xiàn)以上方案全都不行,且都會報以下這種錯誤:

scrollbymyself.html:96 Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.

不知道是我實現(xiàn)方式有問題還是別的未知原因,沒方法,需求在那里,總是需要解決的,經(jīng)過親身實踐,總結(jié)出了下面這種可行方法,雖有明顯缺點,但也總算了解決了需求。

父界面的代碼

<span onclick="openNewWindow()">點擊打開新窗口</span>
<input type="text" class="parent-input">
<script>
  function openNewWindow() {
    document.querySelector(".parent-input").focus()
    window.open("scrollbymyself.html", "new window");
  }
  document.querySelector(".parent-input").onfocus = function () {
    console.log("獲取到了焦點,可以在這里寫邏輯代碼")
  }
  console.log("頁面重新刷新")
</script>

子界面的代碼

<span onclick="closeCurrentWindow()">點擊關(guān)閉當前窗口,并且更新上一個窗口的信息</span>
<script>
  function closeCurrentWindow() {
    console.log(window)
    opener.location.reload();
    window.close()
  }
</script>

把上面的代碼應該到項目中,即可實現(xiàn)需求,如果不想讓input顯示在界面上,可以添加opacity: 0;樣式屬性。

注意:

添加display: none;屬性的話,并不會觸發(fā)input的獲取焦點的事件函數(shù)。

到此這篇關(guān)于JS關(guān)閉子窗口并且刷新上一個窗口的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)JS關(guān)閉子窗口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 小程序tab頁無法傳遞參數(shù)的方法

    小程序tab頁無法傳遞參數(shù)的方法

    這篇文章主要介紹了小程序tab頁無法傳遞參數(shù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 關(guān)于js new Date() 出現(xiàn)NaN 的分析

    關(guān)于js new Date() 出現(xiàn)NaN 的分析

    在一個項目中需要進行日期的格式化,后臺傳到前端是時間的整數(shù)(Date.getTime),當后臺數(shù)據(jù)返回字符串時,發(fā)現(xiàn)轉(zhuǎn)換日期時在ie下變成NaN,但是真的是這樣嗎?接下來我們慢慢分析
    2012-10-10
  • js中數(shù)組常用方法總結(jié)(推薦)

    js中數(shù)組常用方法總結(jié)(推薦)

    這篇文章主要介紹了js中數(shù)組常用方法總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 為JavaScript添加重載函數(shù)的輔助方法

    為JavaScript添加重載函數(shù)的輔助方法

    大家都習慣了重載帶來的便利。JavaScript有沒有重載呢?有人會回答沒有,因為函數(shù)會被覆蓋;有人說有,我們可以模擬重載這 一操作。
    2010-07-07
  • js實現(xiàn)滑動進度條效果

    js實現(xiàn)滑動進度條效果

    這篇文章主要為大家詳細介紹了js實現(xiàn)滑動進度條效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • JavaScript利用正則表達式替換字符串中的內(nèi)容

    JavaScript利用正則表達式替換字符串中的內(nèi)容

    本文主要介紹了JavaScript利用正則表達式替換字符串中內(nèi)容的具體實現(xiàn)方法,并做了簡要注釋,便于理解。具有一定的參考價值,需要的朋友可以看下
    2016-12-12
  • 微信小程序登錄對接Django后端實現(xiàn)JWT方式驗證登錄詳解

    微信小程序登錄對接Django后端實現(xiàn)JWT方式驗證登錄詳解

    這篇文章主要介紹了微信小程序登錄對接Django后端實現(xiàn)JWT方式驗證登錄詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • js cavans實現(xiàn)靜態(tài)滾動彈幕

    js cavans實現(xiàn)靜態(tài)滾動彈幕

    這篇文章主要為大家詳細介紹了js cavans實現(xiàn)靜態(tài)滾動彈幕,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 詳解JavaScript對象轉(zhuǎn)原始值

    詳解JavaScript對象轉(zhuǎn)原始值

    這篇文章主要為大家介紹了vue組件通信的幾種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • vscode+gulp輕松開發(fā)小程序的完整步驟

    vscode+gulp輕松開發(fā)小程序的完整步驟

    這篇文章主要給大家介紹了關(guān)于vscode+gulp輕松開發(fā)小程序的完整步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10

最新評論

清新县| 文登市| 瑞安市| 张家界市| 海口市| 崇礼县| 光山县| 富宁县| 荔波县| 德昌县| 巴中市| 三亚市| 林州市| 肇东市| 肃北| 永春县| 阜宁县| 侯马市| 和平区| 安顺市| 淮滨县| 曲沃县| 蒲城县| 民权县| 江城| 泽州县| 双桥区| 巴林右旗| 同德县| 昌平区| 临湘市| 玛纳斯县| 商洛市| 松原市| 宁津县| 河南省| 乐山市| 黔东| 临武县| 巴彦淖尔市| 山东省|