問題環境:頁面首頁,嵌入了多個portal頁面,單獨請求獲取各自的信息以列表展示
問題描述:點擊列表,新窗口打開頁面後,頁面提示404,且地址url中可明顯看到多處了res://ieframe.dll/http_404.htm#
問題原因:從圖中可看到,通過點擊待辦公文的記錄,我們都會採用以下方式:
/**
* window.open
*/
function openWindow(url, name){
url = $('base').attr('href') + url;
var fulls = "left=0,screenX=0,top=0,screenY=0,toolbar=no,scrollbars=yes, resizable=yes"; //定義彈出窗口的參數
if (window.screen) {
var ah = screen.availHeight - 70;
var aw = screen.availWidth - 10;
fulls += ",height=" + ah;
fulls += ",innerHeight=" + ah;
fulls += ",width=" + aw;
fulls += ",innerWidth=" + aw;
fulls += ",resizable";
} else {
fulls += ",resizable"; // 對於不支持screen屬性的瀏覽器,可以手工進行最大化。 manually
}
window.open (url, name,fulls);
}
然後首頁有多個單獨的頁面時,爲了優化代碼,我們都會將該方法定義到父頁面上,而各個單獨的portal頁面作爲子頁面去調用。如果我們在父頁面定義了全局方法,然後又在子頁面中再去定義該方法,(不太清楚是不是子頁面作爲嵌入式頁面,當我們在其中一個子頁面也寫入該方法,然後去另一個頁面去調用<就近原則>它時,會提示404找不到頁面)
解決方法:檢查各個頁面,有沒有多餘的代碼,避免頁面調用錯誤位置的方法。
解決結果: