2014-11-21 172 views
4

是否可以使用Javascript或JQuery從另一個頁面刷新頁面,而無需在新選項卡中打開同一頁面。如何使用javascript刷新另一個頁面而不打開新標籤中的同一頁面

JS:

var newtab = window.open('http://localhost:8081/app/home'); 
newtab.document.location.reload(true); 

我試過以上,但在這裏,它會打開一個新標籤,用相同的頁面,該頁面在瀏覽器已經打開。

請建議一種方法。

+0

你爲什麼要刷新外部頁面? – DrRoach 2014-11-21 12:32:27

+0

我從一個Web應用程序運行兩個Web應用程序,試圖從第二個Web應用程序 – 2014-11-21 13:03:16

+0

@DrRoach刷新頁面,因爲這些「外部」頁面實際上可能是* internal *,對於同一個應用程序相同的數據集,或同步用戶工作流的窗口等 – 2018-03-04 14:34:57

回答

2

我從前面的Question得到了這個想法,在這裏他們使用窗口對象引用來重新加載彈出窗口,但對於我來說它不會工作,因爲父窗口和子窗口在2個不同的端口中運行。因此,使用同樣的伎倆,我所做的是:

HTML:

<a onclick="openNewTab()">app2</a> 

<a onclick="refreshExistingTab">Refresh</a> 

JS:

<script> 

    var childWindow = ""; 
    var newTabUrl="http://localhost:8081/app/home"; 

    function openNewTab(){ 
     childWindow = window.open(newTabUrl); 
    } 

    function refreshExistingTab(){ 
     childWindow.location.href=newTabUrl; 
    } 

</script> 
+1

這是一個很好的方法。其中一個隱藏的好處是,你可以瀏覽該標籤中的其他頁面,並在點擊一個新的錨點時仍然會刷新同一個標籤:) – rich 2017-03-28 00:27:08

1

看看https://developer.mozilla.org/en-US/docs/Web/API/Window.open 基本上,如果你做window.open並指定一個窗口名稱,它會用你提供的URL覆蓋那個窗口。 因此,如果每次使用相同的窗口名稱打開頁面,則應在每次從其他頁面再次執行時覆蓋該頁面。

+0

我引用這兩個鏈接http://stackoverflow.com/questions/16853138/send-a-refresh-request-to-another-page-opened-in-瀏覽器 http://www.dynamicdrive.com/forums/showthread.php?42003-Refresh-one-page-from-another – 2014-11-21 12:40:59

+0

你能解釋多一點,因爲從這兩個鏈接我得到不同的要求。 1講1頁打開另一頁。 2談到2頁沒有父/子關係的頁面。你原來的問題暗示第1頁打開第2頁。它是哪一個?如果頁面1打開頁面2,則頁面1可以通過執行我使用命名窗口初始化的內容或通過javascript(如發送的第一個鏈接)來刷新頁面2。但是,由於您不必在第1頁中保留對窗口對象的引用,因爲命名窗口更強大,因爲某些情況下可能會重新加載第1頁。 – sagie 2014-11-21 12:45:47

+0

對不起,我真正想要的是在問題本身中進行了解釋,即我想從另一頁面刷新已在瀏覽器中打開的頁面。可能嗎? – 2014-11-21 12:57:53