close
ASP.NET 的 LinkButton本身沒有 target屬性,所以先用以下的方式解決:
先創一個Page(open.aspx),放置一個名為LinkButton1的LinkButton元件
JavaScript:
function NewWindow() { document.forms[0].target = "_blank"; }
後台:
protected void Page_Load(object sender, EventArgs e) { LinkButton1.OnClientClick = "NewWindow()"; //註冊js } protected void LinkButton1_Click(object sender, EventArgs e) { Response.Redirect("~/default.aspx"); }
(注意:本來是用前端直接用window.open() » 這會有安全性檔住的問題!!)
微軟有篇文章對快顯封鎖的詳細介紹,算是網頁開發人員角度的技術說明。
原則上,快顯封鎖主要會封鎖"由程式觸發而非使用者點擊觸發的開啟新視窗行為",範圍包含:
- window.open
- window.showHelp
- window.showModalDialog
- window.showModelessDialog
- window.external.NavigateAndFind
- setHomePage()
- 自動導向搜尋欄(Scripts from automatically targeting the search pane.)
- 由覆蓋在網頁上DHTML元素自動開啟的視窗(Windows that are opened automatically from DHTML elements that overlap content on the same page. )
- 在onunload中呼叫window.open(以前"永遠關不掉的廣告網頁"愛用的技倆)
- Scripts from targeting and then navigating to a named frame that doesn't exist. 只有以下情況,開啟新視窗行為才被允許:
- 使用者點擊連結(link)
- 本機端執行的程式(非網頁Script)開啟(含廣告軟體)
- 透過ActiveX元件,經由使用者的操作觸發
- 網頁位於信任的網站(Trusted Sites)或近端內部網路(Local Intranet)
- 使用者在快顯封鎖程式設定所列舉"允許的網站"
- 透過window.createPopup建立子視窗(但createPopup不能指向現成網頁的URL,要透過Javascript建構內容)
原出處:http://blog.darkthread.net/post-2011-07-12-showmodaldialog-and-popup-blocker.aspx
文章標籤
全站熱搜
留言列表