首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

JavaScript 多腳本 onload 衝突解決方案:統一入口函數模式

     編輯:Java 程式設計入門

問題場景

HTML `` 標籤僅支援單一 `onload` 屬性,若頁面需同時啟動多個腳本(如彈出視窗 + 跑馬燈),無法寫入兩個 `onload`。

解決模式:統一入口函數

<script language="JavaScript">
function together() {
    popwin();      // 功能 1
    scrollIn();    // 功能 2
}
</script>

<BODY onLoad="together()">

完整範例碼

<html>
<head>
<script language="JavaScript">
function together() {
    popwin();
    scrollIn();
}
</script>

<SCRIPT LANGUAGE="JavaScript">
<!--
function popwin() {
    window.open("2scriptspop.htm", "newwin", "width=120,height=120");
}
//-->
</script>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var Message = "本站虛擬域名https://java2000.126.com";
var place = 1;
function scrollIn() {
    window.status = Message.substring(0, place);
    if (place >= Message.length) {
        place = 1;
        window.setTimeout("scrollOut()", 300);
    } else {
        place++;
        window.setTimeout("scrollIn()", 50);
    }
}
function scrollOut() {
    window.status = Message.substring(place, Message.length);
    if (place >= Message.length) {
        place = 1;
        window.setTimeout("scrollIn()", 100);
    } else {
        place++;
        window.setTimeout("scrollOut()", 50);
    }
}
// End -->
</SCRIPT>
</head>
<BODY onLoad="together()">
</body>
</html>

核心原理

  • 將多個初始化函數封裝於單一 together()
  • onload 僅綁定此統一入口
  • 各子功能保持獨立模組化,互不干擾
  • 擴展性佳:新增功能只需在 together() 內增加呼叫

現代替代方案 (補充)

// DOMContentLoaded / addEventListener 模式 (現代瀏覽器)
window.addEventListener('load', popwin);
window.addEventListener('load', scrollIn);
// 或
document.addEventListener('DOMContentLoaded', together);

現代開發建議使用 `addEventListener` 可綁定多個監聽器,無需手動統一入口,但理解傳統模式對維護舊專案仍有價值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved