2012-04-26 39 views
0

在一個頁面上(即mypage.html),我顯示一個菜單。該菜單中的一個按鈕應調用上下文幫助。如何用javascript和php實現幫助功能?

<a href="#" onclick="(helpme())">Help</a> 

的JavaScript helpme函數調用的PHP模塊:

function helpme() {document.location="help.php";} 

的help.php,根據上下文,應開成一個新的瀏覽器窗口中的另一個的PHP模塊的內容:

switch ($_SESSION['function'] ) 
    { 
     case 'central': 
      echo '<script type="text/javascript" language="javascript">window.open("/help/help_central.php","help", "height=200, width=200, top=100, left=500, menubar=0, toolbar=0, location=0, status=0");</script>'; 
      break; 

等等

不幸的是這複雜的解決方案不起作用:在新窗口d顯示正確的文字,但mypage.html被help.php替換! 你能提出一個更正或更簡單的方法來實現幫助嗎?

+0

爲什麼不使用錨的target屬性並忘記所有的javascript? 'Help me!' – Jrod 2012-04-26 14:15:30

+0

你能用像colorbox這樣的jQuery庫嗎? http://www.jacklmoore.com/colorbox – 2012-04-26 14:19:10

+0

此外它是window.location和空間應該避免參數 – mplungjan 2012-04-26 14:19:24

回答

1

只要改變a標籤是這樣的:

<a href="help.php" target="_blank">Help</a> 

由於JavaScript函數只是向用戶發送到那裏它與JS做是沒有必要的。

編輯

如果你願意,你可以使用像這樣的彈出窗口:

<script type="text/javascript"> 
    function newPopup(url) { 
     popupWindow = window.open(url,'popUpWindow','height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); 
    } 
</script> 

<a onClick="newPopup('http://www.mydomain.com/example/help.php');">Help me</a> 
+0

此解決方案顯示help.php而不是mypage.html:沒有解決! – Bertaud 2012-04-26 14:50:46

+0

如果您將'target =「_ blank」'添加到'a'標記,它將在瀏覽器支持的情況下在新瀏覽器標籤中打開。 – Manuel 2012-04-26 14:58:47

+0

我使用FF測試,但我想要一個全局解決方案!我不想要一個新的瀏覽器選項卡:我想在一個瀏覽器窗口中使用mypage.html,在另一個瀏覽器窗口中使用help_central.php(與上下文一致)! – Bertaud 2012-04-26 15:19:07

0

爲什麼不這樣呢?

<a target="_blank" href="help.php?#monster">Help on mosters</a> 
+0

問題不在於瞭解上下文,而是在另一個窗口瀏覽器中顯示mypage.html和幫助。 – Bertaud 2012-04-26 14:52:26