好吧,我要瘋了。我試圖實現一個基本的彈出窗口來顯示圖像。如果我的JavaScript代碼在具有onclick屬性的HTML標記中完全指定,則該窗口將正確彈出。如果我的IDENTICAL JavaScript代碼是從HTML文檔開頭的腳本標記或從單獨的js文件中調用的,則鏈接(或我的情況下的圖像)不會在彈出窗口中打開,而會在同一個窗口中打開。 <挫折>Javascript的window.open函數不一致,不會在預期的時候彈出來
這將打開一個彈出:
<a href="test.jpg" onclick="window.open('test.jpg','test_name','width=500,height=500,scrollbars=no'); return false">test_name</a>
這不打開一個彈出:
function cleanPopup(url, title) {
window.open(url, title, 'width=500,height=500,scrollbars=no');
return false;
}
<a href="test.jpg" onclick="return cleanPopup('test.jpg', 'test_name')">test_name</a>
任何幫助,將不勝感激。 PS:在Chrome和Firefox中測試。
編輯:
我發現我的問題。我最初只是在head標籤中調用js文件。當使用模板工具的多個腳本(在我的案例中爲模板工具箱)創建div元素時,會使div元素層中的某些元素使頭元素中的原始腳本元素對於較深的子元素看起來不可見。
我不知道到底發生了什麼,我沒有時間去探索它。我已經添加了這個編輯功能,以防其他人有類似的問題,並以某種方式在這個線程中絆倒。如果有人瞭解這種現象,並且可以解釋它,請做。
編輯2:
window.open方法的「名稱」參數中不能包含空格的彈出在IE工作。謝謝M $。
它確實爲我打開了一個彈出窗口。檢查你的瀏覽器的JavaScript控制檯,我敢肯定你在某處有語法錯誤。 – 2012-04-10 10:23:44
我在標準文檔模式下,在IE9,IE7-8(來自IE9 DevTools)中對此進行了測試。我在FireFox,Chrome,Safari和Opera的最新版本中對此進行了測試。所有按預期工作。可能你需要展示更完整的例子。 – 2012-04-10 10:46:11
沒有語法錯誤 - 但是如果存在彈出窗口阻止程序,則腳本可能失敗,然後簡單地跟着URL – mplungjan 2012-04-10 11:29:36