2010-11-09 11 views
2

我是一個網頁設計師,我當然有與所有主要的瀏覽器工作的(沒有IE 6,因爲它是在屁股這麼痛,我需要沒有任何變通辦法PNG透明度)。我一直在尋找一種方法來運行並重新加載Firefox,一個Webkit瀏覽器(Chrome)和IE 7 & 8。如何在linux上一次性重新加載所有瀏覽器?

(我有我需要的答案,我會後下面的其他的參考,但我敢肯定有這樣做的更好的方法。)

回答

5

這是我如何解決它:

瀏覽器打開:

  • 谷歌瀏覽器
  • 火狐
  • VirtualBox的W/Win XP的運行:
    • IE 7
    • IE 8

在我的網站代碼中,我有一個靜態標題,以便可以通過名稱引用每個瀏覽器窗口。例如,「這是我所有頁面的標題」的標題會導致一個名爲「這是我所有頁面的標題 - Mozilla Firefox」的Firefox窗口名稱。

下的compiz我設置一個快捷鍵,在所謂的refresh_all(不要忘記,使這個可執行文件)/家庭/用戶名/ bin中運行腳本(按Ctrl + J,因爲它很容易達到)。

這裏的refresh_all的內容

#!/bin/bash 

currentwindow=`xdotool getwindowfocus` 

id=`xdotool search --title '[Site Title] - Google Chrome'` 
xdotool windowmap $id 
if [ $? = 0 ] 
then 
    xdotool windowactivate $id 
    xdotool key 'ctrl+r' $id 
fi 

id=`xdotool search --title '[Site Title] - Moz'` 
xdotool windowmap $id 
if [ $? = 0 ] 
then 
    xdotool windowactivate $id 
    xdotool key 'ctrl+r' $id 
fi 

id=`xdotool search --title '[Name of Virtual Machine]'` 
xdotool windowmap $id 
if [ $? = 0 ] 
then 
    xdotool windowactivate $id 
    xdotool key 'ctrl+r' $id 
    xdotool key 'alt+Tab' $id 
    xdotool key 'ctrl+r' $id 
fi 

#xdotool windowmap $currentwindow 
xdotool windowactivate $currentwindow 

的腳本是這樣的對我說:

  1. 將當前窗口
  2. 如果Chrome是開放的,把它集中和模擬按Ctrl -r重新加載
  3. ...做的Firefox一樣的...
  4. 如果VM是開放的,帶來它專注於讓Win XP的捕捉鍵盤事件和模擬CTRL-R,那麼使用Alt-Tab切換到另一個IE版本(因爲這兩個IE是在通過Utilu IE收藏同一VM運行),最後按Ctrl-R以更新那個以及

你必須有xdotool(sudo apt-get install xdotool)。 取消第二行到最後一行將確保在完成所有刷新操作後,打開的最後一個窗口將重新置頂。

我能想到的另一個解決方案是有一個AJAX調用,用於檢查是否每秒都設置一個名爲do_refresh的會話變量,如果它已經刷新瀏覽器,然後編寫附加'| do_refresh'的腳本,到所有php會話文件的結尾,當你想重新加載時,但是這並不會將瀏覽器提升到前臺(這是我想要的,因爲我有4個顯示器,所以第一個代碼,第二個代碼,即在第三個和第四個firefox上使用它們,當我修改代碼時它們全都出現了,但是如果你使用1或2個監視器運行,你可能不希望窗口進入焦點)。 (旁註:4臺顯示器還不夠:X如果要獲得很多顯示器,請獲得6.)

Phew,這是相當的職位。只是想在stackoverflow上獲得這個信息,所以每個人都可以享受同時重新載入狂喜。

0

我不認爲你可以在外部「指示」瀏覽器刷新特定標籤(或至少那將是非常複雜支持每個瀏覽器)。你可以做的是讓頁面每X秒自動刷新一次,這樣你就可以始終顯示最新版本。或者是這樣的:

<script> 
    setTimeout('window.location.reload(true);', XXXXX); 
</script> 

(其中XXXXX爲毫秒),或

<meta http-equiv="refresh" content="Y" /> 

(其中Y是秒)。

相關問題