2013年5月23日 星期四

IE9的window.open的神秘問題..

情境:
我下了一句a標籤onclick時的window.open事件,
在IE10可以開啟新的window,在IE9卻不行
(被其他Developer發現..,然後我的IE,默默的被更新到ie10我也沒發現><)

以下是簡陋版demo:

<a href="javascript:;" 
onclick="window.open('http://tw.yahoo.com','This-is-yahoo',config='height=480,width=600')">Go to yahoo</a>

想想看為什麼不行?
在console並無任何的錯誤,
明明照著規格寫,怎麼沒辦法window.open呢?
規格我是參考Mozilla Developer的網站

window.open(strUrl, strWindowName[, strWindowFeatures]);

我的問題出在第二個參數strWindowName
規格只有限制strWindowName不能有任何的空白(The name should not contain any blank space-引用自Mozilla Developer Network)
我的'This-is-yahoo'問題出在連 '-' 都不能有,'_'反而可以

結論:
將'-'改成"_',就可以work了,神奇吧!

<a href="javascript:;" onclick="window.open('http://tw.yahoo.com','This_is_yahoo',config='height=480,width=600')">Go to yahoo</a>

BTW,其實我的strWindowName也可以用'_blank'之類的取代,只是這樣可能會違背我原先的意思,因為我可能需要判斷被window.open頁面是否有window.name而去做不同的事情或是UI顯示元件的不同。

沒有留言:

張貼留言

若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD

Vue multiselect set autofocus and tinymce set autofocus

要在畫面一進來 focus multiselect 的方式: 參考: https://jsfiddle.net/shentao/mnphdt2g/ 主要就是在 multiselect 的 tag 加上 ref (例如: my_multiselect), 另外在 mounted...