2010-05-27 108 views
2

是否可以從具有預定義內容的PHP打開窗口?很明顯,您可以如何從構建現有頁面的JavaScript鏈接打開窗口,或者只需從引用現有頁面的常規標籤中執行target = _blank。不過,我產生了一點內容,並希望這些內容在一個新的鏈接打開(或傳輸到瀏覽器) -帶動態內容的打開窗口

像(顯然僞代碼!):

$content = "Hello World. <br />Nice to meet you!"; 

<a href="#" target="_blank" content=$content>Open up!</a> 

是這可能嗎? 謝謝!

回答

11

那麼,直接回答你的問題是,你不能直接從PHP執行它,因爲它是打開窗口的瀏覽器。你可以,但是,有你的頁面打開一個窗口,獲取文檔對象,並寫它:

var w = window.open("Surprise", "#"); 
var d = w.document.open(); 
d.write("<!DOCTYPE html><html><body>Hello World</body></html>"); 
d.close(); 

取而代之的是簡單的字符串「Hello World」,當然你的PHP腳本可以放在一起爲所欲爲的。此外,如果需要,Javascript代碼本身可以根據頁面狀態,表單域等動態生成內容。

請注意,您無法保證新窗口不會是新選項卡,而是不是新選項卡與<a><form>標籤中的「目標」發生的情況不同。

編輯 —哦也:如果您嘗試使用window.open的代碼之外的在響應中運行的「點擊」,瀏覽器可能會認爲你想顯示彈出式廣告,並阻止它。

+0

非常感謝! 我最終將數據作爲帖子傳遞,然後解析發佈數據,但我會給你的方法一個鏡頭,它看起來更乾淨。 謝謝! – julio 2010-05-27 20:31:13