┬ 1997 πεΣ≤, ± ∩ε ΓδσφΦσ∞ Internet Explorer 4.0, Microsoft ∩≡σΣ±≥αΓΦδα φεΓ≤■ ≥σ⌡φεδεπΦ■ ±ετΣαφΦ COM Ωε∞∩εφσφ≥ ∩εδ≤≈ΦΓ°≤■ φατΓαφΦσ ±Ω≡Φ∩δσ≥-≥σ⌡φεδεπΦ . ▌≥α ≥σ⌡φεδεπΦ ∩ετΓεδ σ≥ ±ετΣαΓα≥ⁿ COM Ωε∞∩εφσφ≥√ ±≡σΣ±≥Γα∞Φ ∩≡ε±≥√⌡ Γ Φ±∩εδⁿτεΓαφΦΦ τ√ΩεΓ ±÷σφα≡ΦσΓ. ╥αΩΦσ COM Ωε∞∩εφσφ≥√ Φ∞σφ≤■≥± ±Ω≡Φ∩δσ≥α∞Φ. ╚τφα≈αδⁿφε ±Ω≡Φ∩δσ≥√ ß√δΦ ε≡Φσφ≥Φ≡εΓαφ φα ±ετΣαφΦσ Ωε∞∩εφσφ≥ ∩εδⁿτεΓα≥σδⁿ±Ωεπε Φφ≥σ≡⌠σΘ±α Σδ Web ±≥≡αφΦ÷. ┼±δΦ Γ√ τφασ≥σ HTML Φ JavaScript, ≥ε Γ√ δσπΩε ε±ΓεΦ≥σ ²≥≤ ≥σ⌡φεδεπΦ■.
╧≡Φ ε∩Φ±αφΦΦ ±Ω≡Φ∩δσ≥α Φ±∩εδⁿτ≤■≥± DHTML (≡α±°Φ≡σφΦσ HTML) Φ δ■ßεΘ τ√Ω ±÷σφα≡ΦσΓ ∩εΣΣσ≡µΦΓα■∙ΦΘ ActiveX Scripting interface. ╥. Ω. ±Ω≡Φ∩δσ≥ ßατΦ≡≤σ≥± φα DHTML Φ Φ±∩εδⁿτ≤σ≥± Γ HTML ΣεΩ≤∞σφ≥α⌡, ≥ε εφ ∩εδ≤≈Φδ φατΓαφΦσ DHTML ±Ω≡Φ∩δσ≥. DHTML ±Ω≡Φ∩δσ≥√ ∩εΣΣσ≡µΦΓα■≥± ß≡α≤τσ≡α∞Φ Internet Explorer φα≈Φφα ± 4.0 φα δ■ß√⌡ ∩δα≥⌠ε≡∞α⌡ (Win, Mac, Unix), ≥. Ω. Γ ε≥Ω≡√≥εΘ α≡⌡Φ≥σΩ≥≤≡σ ±Ω≡Φ∩δσ≥α φσ≥ φΦ≈σπε επ≡αφΦ≈ΦΓα■∙σπε σπε Γ ∩≡σΣσδα⌡ Win32.
╤Ω≡Φ∩δσ≥-≥σ⌡φεδεπΦ ∩εδ≤≈Φδα ≡ατΓΦ≥Φσ Φ ∩ετΣφσσ ∩ε ΓΦδ± ±σ≡Γσ≡φ√Θ ±Ω≡Φ∩δσ≥, φε Γ ²≥εΘ ±≥α≥ⁿσ ∞√ ε±≥αφεΓΦ∞± φα ≡α±±∞ε≥≡σφΦΦ DHTML ±Ω≡Φ∩δσ≥α Φ Σδ ²Ωεφε∞ΦΦ ∞σ±≥α ß≤Σσ∞ σπε φατ√Γα≥ⁿ ∩≡ε±≥ε ±Ω≡Φ∩δσ≥ε∞.
╤Ω≡Φ∩δσ≥ ε∩Φ±√Γασ≥± Γ εß√≈φε∞ HTML ⌠αΘδσ (*.htm, *.html). ╩αΩ Ωε∞∩εφσφ≥α, ±Ω≡Φ∩δσ≥ ∞εµσ≥ Φ∞σ≥ⁿ ±ΓεΘ±≥Γα Φ ∞σ≥εΣ√. ╤ΓεΘ±≥Γα∞Φ ±Ω≡Φ∩δσ≥α Γδ ■≥± πδεßαδⁿφ√σ ∩σ≡σ∞φφ√σ, ∞σ≥εΣα∞Φ ⌠≤φΩ÷ΦΦ Φ ∩≡ε÷σΣ≤≡√ ε∩≡σΣσδφσφφ√∞ εß≡ατε∞ ε∩Φ±αφφ√σ. ─δ ±ετΣαφΦ εß∙σΣε±≥≤∩φεπε ±ΓεΘ±≥Γα Ω Φ∞σφΦ πδεßαδⁿφεΘ ∩σ≡σ∞σφφεΘ ∩≡ΦßαΓδ σ≥± ∩≡σ⌠ΦΩ± public_. ─δ ±ετΣαφΦ εß∙σΣε±≥≤∩φεπε ∞σ≥εΣα ∩≡σ⌠ΦΩ± public_ ∩≡ΦßαΓδ ≥± Ω Φ∞σφΦ ⌠≤φΩ÷ΦΦ ΦδΦ ∩≡ε÷σΣ≤≡√. ╦■ßα πδεßαδⁿφα ∩σ≡σ∞σφφα ± ²≥Φ∞ ∩≡σ⌠ΦΩ±ε∞ ±≥αφεΓΦ≥± public ±ΓεΘ±≥Γε∞ ±Ω≡Φ∩δσ≥α, δ■ßα ⌠≤φΩ÷Φ ΦδΦ ∩≡ε÷σΣ≤≡α ± ²≥Φ∞ ∩≡σ⌠ΦΩ±ε∞ ±≥αφεΓΦ≥± σπε public ∞σ≥εΣε∞. ╨α±±∞ε≥≡Φ∞ ∩≡ε±≥εΘ ∩≡Φ∞σ≡, Γ Ωε≥ε≡ε∞ ε∩Φ±√Γασ≥± εΣφε ±ΓεΘ±≥Γε property1 Φ εΣΦφ ∞σ≥εΣ method1:
<script language = "JavaScript"> public_property1 = 'Something'; //╬∩Φ±αφΦσ ±ΓεΘ±≥Γα // property1 function public_method1(param) { // Φ ∞σ≥εΣα method1() // some code } </script>
╧≡Φ Γ√τεΓσ ±ΓεΘ±≥Γ Φ ∞σ≥εΣεΓ ∩≡σ⌠ΦΩ± public_ φσ ΓΩδ■≈ασ≥± . ╚ εß≡α∙σφΦσ Φτ Ωεφ≥σΘφσ≡α ß≤Σσ≥ Γ√πδ Σσ≥ⁿ ±δσΣ≤■∙Φ∞ εß≡ατε∞:
Scriplet1.property1 = 'Another'; Scriplet1.method1(param);
DHTML ±Ω≡Φ∩δσ≥ ∞εµσ≥ ≡αßε≥α≥ⁿ ± ΣΓ≤∞ ≥Φ∩α∞Φ ±εß√≥ΦΘ: onscripletevent ±εß√≥Φσ Φ ±≥αφΣα≡≥φ√σ εΩεφφ√σ ±εß√≥Φ . ╧σ≡Γεσ ∞εµσ≥ ß√≥ⁿ ΦφΦ÷ΦΦ≡εΓαφε Γ δ■ßεσ Γ≡σ∞ Φτ ±Ω≡Φ∩δσ≥α. ╤≥αφΣα≡≥φ√σ εΩεφφ√σ ±εß√≥Φ , ≥αΩΦσ ΩαΩ onclick, onkeypress, φσ ∞επ≤≥ ß√≥ⁿ ΦφΦ÷ΦΦ≡εΓαφ√ ±α∞Φ∞ ±Ω≡Φ∩δσ≥ε∞, φε ±Ω≡Φ∩δσ≥ Φ∞σσ≥ ∞σ⌡αφΦτ∞, ε∩εΓσ∙α■∙ΦΘ ε ±εß√≥ΦΦ Ωεφ≥σΘφσ≡. ╤Ω≡Φ∩δσ≥ ≡σαπΦ≡≤σ≥ φα ±δσΣ≤■∙Φσ ±≥αφΣα≡≥φ√σ εΩεφφ√σ ±εß√≥Φ :
─δ ≡αßε≥√ ±ε ±≥αφΣα≡≥φ√∞Φ εΩεφφ√∞Φ ±εß√≥Φ ∞Φ Φτ Ωεφ≥σΘφσ≡α φσεß⌡εΣΦ∞ε φα∩Φ±α≥ⁿ εß≡αßε≥≈ΦΩΦ ±εß√≥ΦΘ Γ ΣΓ≤⌡ ∞σ±≥α⌡: εΣΦφ Γ ±Ω≡Φ∩δσ≥σ Σδ ∩σ≡σΣα≈Φ ≤ΓσΣε∞δσφΦ ε ±εß√≥ΦΦ Ωεφ≥σΘφσ≡≤, Σδ ²≥επε Γ√τ√Γασ≥± ∞σ≥εΣ bubbleEvent(), α Σ≡≤πεΘ Γ ∩≡ΦδεµσφΦΦ, Φ±∩εδⁿτ≤■∙σ∞ ±Ω≡Φ∩δσ≥ Σδ , φσ∩ε±≡σΣ±≥ΓσφφεΘ εß≡αßε≥ΩΦ ±εß√≥Φ . ─σ≥αδⁿφα Φφ⌠ε≡∞α÷Φ ε ±εß√≥ΦΦ ∞εµσ≥ ß√≥ⁿ ∩εδ≤≈σφα ≈σ≡στ ±≥αφΣα≡≥φ√Θ εß·σΩ≥ event. ╨α±±∞ε≥≡Φ∞ ∩≡ε±≥εΘ ∩≡Φ∞σ≡ ∩σ≡σΣα≈Φ ≤ΓσΣε∞δσφΦ Ωεφ≥σΘφσ≡≤ ε ±εß√≥ΦΦ onKeyUp Σδ ∩εδ ΓΓεΣα text1:
<input type = text onkeyup = "passKeyUp()" name = "text1" value = " "> <script languαge = JavaScript> function passKeyUp() { window.external.bubbleEvent(); // ∩σ≡σΣα≈α ≤ΓσΣε∞δσφΦ , ε //±εß√≥ΦΦ onKeyUp Γ //²δσ∞σφ≥σ text1 } </script>
┼±≥ⁿ εΣφα ≥εφΩε±≥ⁿ: ∩≡Φ ∩σ≡σΣα≈σ ±εεß∙σφΦ ±φα≈αδα φσεß⌡εΣΦ∞ε ≤ßσΣΦ≥ⁿ± Γ ≥ε∞, ≈≥ε ±ΓεΘ±≥Γε ±Ω≡Φ∩δσ≥α frozen Φ∞σσ≥ τφα≈σφΦσ false, Σδ ≤Γσ≡σφφε±≥Φ, ≈≥ε Ωεφ≥σΘφσ≡ ±∩ε±εßσφ εß≡αßε≥α≥ⁿ ±εß√≥Φσ.
Note: ╤ΓεΘ±≥Γε frozen û read-only ß≤δσΓε ±ΓεΘ±≥Γε ±Ω≡Φ∩δσ≥α; τφα≈σφΦσ true ετφα≈ασ≥, ≈≥ε φα Σαφφ√Θ ∞ε∞σφ≥ ±εß√≥Φσ Γ Ωεφ≥σΘφσ≡σ εß≡αßε≥αφε φσ ß≤Σσ≥.
┼±δΦ ±Ω≡Φ∩δσ≥ φσ ±εΣσ≡µΦ≥ εß≡αßε≥≈ΦΩα Σαφφεπε ±εß√≥Φ ΦδΦ Γφ≤≥≡Φ εß≡αßε≥≈ΦΩα φσ Γ√τ√Γασ≥± ∞σ≥εΣ bubbleEvent, ≥ε ≤ΓσΣε∞δσφΦσ ε ±εß√≥ΦΦ ∩σ≡σΣαφε φσ ß≤Σσ≥.
╤Ω≡Φ∩δσ≥ ΓταΦ∞εΣσΘ±≥Γ≤σ≥ ±ε ±ΓεΦ∞ Ωεφ≥σΘφσ≡ε∞ ∩ε±≡σΣ±≥Γε∞ ±εß√≥Φ onscripletevent, ±εΣσ≡µα∙Φ∞ ΣΓα ∩α≡α∞σ≥≡α: ±≥≡εΩ≤ Φ ∩≡εΦτΓεδⁿφε Γ√ß≡αφφ√Θ εß·σΩ≥. ╬ß≡αßε≥≈ΦΩ ±εß√≥Φ ∞εµσ≥ Γ√ßΦ≡α≥ⁿ, ΩαΩ ≡σαπΦ≡εΓα≥ⁿ φα ±εß√≥Φσ Γ ταΓΦ±Φ∞ε±≥Φ ε≥ ±εΣσ≡µΦ∞επε ±≥≡ε≈φεπε ∩α≡α∞σ≥≡α, α ∩σ≡σΣαΓασ∞√Θ εß·σΩ≥ ±εΣσ≡µΦ≥ Σε∩εδφΦ≥σδⁿφ≤■ Φφ⌠ε≡∞α÷Φ■.
─δ Φ±∩εδⁿτεΓαφΦ ±Ω≡Φ∩δσ≥α Γ HTML ±≥≡αφΦ÷σ ∩≡Φ∞σφ σ≥± ≥απ <OBJECT>:
<OBJECT width = 300 height = 300 ID = "Scriplet1" TYPE = "text/x-scriplet" DATA= "Scriplet's name" </OBJECT>
╬ß≡α≥Φ≥σ ΓφΦ∞αφΦσ, ≈≥ε Γ ≥απσ <OBJECT> φσ ≤Ωαταφ CLSID û Internet Explorer ±α∞ ≡σπΦ±≥≡Φ≡≤σ≥ Ωε∞∩εφσφ≥≤, ΩεπΣα Γ±≥≡σ≈ασ≥ ±Ω≡Φ∩δσ≥, ⌡ε≥ ∩≡Φ µσδαφΦΦ ±Ω≡Φ∩δσ≥ ∞εµφε τα≡σπΦ±≥≡Φ≡εΓα≥ⁿ Γ ±Φ±≥σ∞σ Φ ≤Ωατα≥ⁿ σπε CLSID Γφ√∞ εß≡ατε∞. Internet Explorer ≡α±∩ετφασ≥ ±Ω≡Φ∩δσ≥ ∩ε MIME ≥Φ∩≤ ötext/x-scripletö.
╘≤φΩ÷Φεφαδⁿφε±≥ⁿ ±Ω≡Φ∩δσ≥α ∞εµσ≥ ß√≥ⁿ ≡σαδΦτεΓαφα φα δ■ß√⌡ τ√Ωα⌡ ±÷σφα≡ΦσΓ ∩εΣΣσ≡µΦΓα■∙Φ⌡ Microsoft ActiveX Scripting Φφ≥σ≡⌠σΘ±. ╧≡Φ ε∩Φ±αφΦΦ ±Ω≡Φ∩δσ≥α ∞επ≤≥ Φ±∩εδⁿτεΓα≥ⁿ± φσ±ΩεδⁿΩε τ√ΩεΓ ±÷σφα≡ΦσΓ, Γ ²≥ε∞ ±δ≤≈ασ ±ετΣασ≥± φσ±ΩεδⁿΩε ßδεΩεΓ <script language= à>.
╤Ω≡Φ∩δσ≥ ≥αΩµσ ßστε∩α±σφ, ΩαΩ HTML Φ ±Ω≡Φ∩≥. ╩ ≥ε∞≤ µσ, Γ ±Ω≡Φ∩δσ≥σ σ±≥ⁿ Γετ∞εµφε±≥ⁿ ≡α±∩ετφα≥ⁿ Γ ΩαΩε∞ Ωεφ≥σΘφσ≡σ εφ φα⌡εΣΦ≥± Φ σ±δΦ ²≥ε Ωεφ≥σΘφσ≡ ± ∩εΓ√°σφφ√∞Φ ≥≡σßεΓαφΦ ∞Φ ßστε∩α±φε±≥Φ (IE), ≥ε ±Ω≡Φ∩δσ≥ ≡αßε≥ασ≥ ±επδα±φε ∩εδΦ≥ΦΩσ ßστε∩α±φε±≥Φ ²≥επε Ωεφ≥σΘφσ≡α.
┬ εß∙σ∞ ±δ≤≈ασ Σδ Ωε≡≡σΩ≥φεπε ⌠≤φΩ÷ΦεφΦ≡εΓαφΦ φσεß⌡εΣΦ∞ε ≈≥εß√ ±Ω≡Φ∩δσ≥ ß√δ ταπ≡≤µσφ ± ≥επε µσ Web ±σ≡Γσ≡α, ≈≥ε Φ Φ±∩εδⁿτ≤■∙α σπε HTML ±≥≡αφΦ÷α (ΩαΩ Φ JAVA α∩∩δσ≥√).
╧≡Φ ≡ατ≡αßε≥Ωσ ±Ω≡Φ∩δσ≥α Φ∞σσ≥± Γετ∞εµφε±≥ⁿ ±ετΣα≥ⁿ ±εß±≥Γσφφεσ Ωεφ≥σΩ±≥φεσ ∞σφ■, "Γ±∩δ√Γα■∙σσ" ∩ε ∩≡αΓεΘ Ωφε∩Ωσ ∞√°Φ. ─δ ΩαµΣεπε ±Ω≡Φ∩δσ≥α ∞εµσ≥ ß√≥ⁿ ≡σαδΦτεΓαφε ±Γεσ Ωεφ≥σΩ±≥φεσ ∞σφ■.
─δ ±ετΣαφΦ ∞σφ■ φσεß⌡εΣΦ∞ε ε∩≡σΣσδΦ≥ⁿ ∞α±±ΦΓ ±≥≡εΩ, Ωε≥ε≡√Θ ≡ατßΦΓασ≥± φα ∩α≡√: Γ ∩σ≡Γε∞ ²δσ∞σφ≥σ ≤Ωατ√Γασ≥± φατΓαφΦσ ∩≤φΩ≥α ∞σφ■, α Γε Γ≥ε≡ε∞ Γ√τ√Γασ∞α ∩≡Φ σπε Γ√ßε≡σ ⌠≤φΩ÷Φ . ─δ ΦφΦ÷ΦαδΦτα÷ΦΦ ∞σφ■ Γ√τ√Γασ≥± ∞σ≥εΣ setContextMenu() ± ∞α±±ΦΓε∞ Γ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡α.
<script language = "VBScript"> sub window_onload dim a(4) a(0) = "Add Hello" a(1) = "Hello" a(2) = "Add Goodbye" a(3) = "Goodbye" window.setContextMenu(a) end sub </script>
╧≡Φ ∙σδ≈Ωσ ∩≡αΓεΘ Ωφε∩ΩεΘ ∞√°Φ Γ εßδα±≥Φ ε≥εß≡αµσφΦ ±Ω≡Φ∩δσ≥α Γ±∩δ√Γασ≥ ∞σφ■, ±εΣσ≡µα∙σσ ΣΓα ∩≤φΩ≥α: "Add Hello" Φ "Add Goodbye", ∩≡Φ Γ√ßε≡σ ∩σ≡Γεπε Γ√τ√Γασ≥± ⌠≤φΩ÷Φ Hello(), ∩≡Φ Γ√ßε≡σ Γ≥ε≡επε ⌠≤φΩ÷Φ Goodbye().
╨α±±∞ε≥≡Φ∞ ∩≡Φ∞σ≡, ΩεπΣα ≤ ±Ω≡Φ∩δσ≥α σ±≥ⁿ ±ΓεΘ±≥Γε ô÷Γσ≥ö Φ ∩≡Φ Φτ∞σφσφΦΦ τφα≈σφΦ ²≥επε ±ΓεΘ±≥Γα ⌡ε≥σδε±ⁿ ß√, ≈≥εß√ ÷Γσ≥ Ωε∞∩εφσφ≥√ ≥εµσ ∞σφ δ± . ┴στ≤±δεΓφε, δεπΦ≈φσσ ß√δε ß√ ≡σαδΦτεΓα≥ⁿ ∞σ≥εΣ ∩≡Φ Γ√τεΓσ Ωε≥ε≡επε ÷Γσ≥ Φτ∞σφ δ± , φε Γ εß∙σ∞ ±δ≤≈ασ ∩≡σΣ∩εδεµΦ∞ ≈≥ε Ωε∞∩εφσφ≥σ φσεß⌡εΣΦ∞ε ≡σαπΦ≡εΓα≥ⁿ φσ∞σΣδσφφε ∩≡Φ Φτ∞σφσφΦΦ ΩαΩΦ⌡-δΦßε ±ΓεΘ±≥Γ.
┬ ±Ω≡Φ∩δσ≥σ σ±≥ⁿ Γετ∞εµφε±≥ⁿ ε∩Φ±α≥ⁿ φσΩε≥ε≡√σ ⌠≤φΩ÷ΦΦ, ≥αΩ ≈≥ε εφΦ Γ√Σα■≥ ±σß τα ±ΓεΘ±≥Γα, Φ ∩≡Φ Φτ∞σφσφΦΦ ±ΓεΘ±≥Γα Γ√∩εδφ σ≥± ΩεΣ ≡σαδΦτεΓαφφ√Θ Γ ²≥Φ⌡ ⌠≤φΩ÷Φ ⌡. ╥αΩΦ⌡ ⌠≤φΩ÷ΦΘ Γ±σπε ΣΓσ: put Φ get. ╧≡Φ Φτ∞σφσφΦΦ τφα≈σφΦ ±ΓεΘ±≥Γα Γ√τ√Γασ≥± ⌠≤φΩ÷Φ put, α ∩≡Φ ∩εδ≤≈σφΦΦ τφα≈σφΦ - get.
<script language=JScript> property1 = 'some text'; property1GetCount = 0; property1PutCount = 0; function public_get_property1() { property1GetCount++; } public_put_property1(new_value) { property1PutCount++; property1 = new_value; refresh(); } </script>
┬ ²≥ε∞ ∩≡Φ∞σ≡σ Γ ∩σ≡σ∞σφφ√⌡ property1GetCount Φ property1PutCount ⌡≡αφ ≥ ΩεδΦ≈σ±≥Γε εß≡α∙σφΦΘ Ω ±ΓεΘ±≥Γ≤ property1 Φ σπε Φτ∞σφσφΦΘ. ┬ ⌠≤φΩ÷ΦΦ public_put_property1 ∩ε±δσ ≥επε ΩαΩ φεΓεσ τφα≈σφΦσ ≤±≥αφεΓδσφε, Ωε∞∩εφσφ≥α εßφεΓδ σ≥ τφα≈σφΦ . ┬ Ωεφ≥σΘφσ≡σ Γ√ ∞εµσ≥σ ±±√δα≥ⁿ± φα property1, ΩαΩ σ±δΦ ß√ ²≥ε ß√δε εß√≈φεσ ±ΓεΘ±≥Γε.
Scriplet1.property1 = 'Another'; a = Scriplet1.property1;
╤ ∩ε∞ε∙ⁿ■ put_ Φ get_ ⌠≤φΩ÷ΦΘ ∞εµφε ≡σαδΦτεΓα≥ⁿ read-only Φ write-only ±ΓεΘ±≥Γα. ─δ ±ετΣαφΦ read-only ±ΓεΘ±≥Γα ε∩Φ±√Γασ≥± ≥εδⁿΩε ⌠≤φΩ÷Φ get_, ≥. Ω. ⌠≤φΩ÷ΦΦ put_ φσ≥, ≥ε τφα≈σφΦσ Φτ∞σφσφε ß√≥ⁿ φσ ∞εµσ≥, αφαδεπΦ≈φε ± write-only.
┼±δΦ Γ√ ∩Φ°Φ≥σ φα JavaScript, ≥ε Φ∞σσ≥± αδⁿ≥σ≡φα≥ΦΓφα Γετ∞εµφε±≥ⁿ ε∩Φ±αφΦ Φφ≥σ≡⌠σΘ±α DHTML ±Ω≡Φ∩δσ≥α. ╧≡Φ ε∩≡σΣσδσφΦΦ εß·σΩ≥α public_description Γ ±Ω≡Φ∩δσ≥σ, ±ΓεΘ±≥Γα Φ ∞σ≥εΣ√ ²≥επε εß·σΩ≥α Γδ ■≥± ±ΓεΘ±≥Γα∞Φ Φ ∞σ≥εΣα∞Φ ±Ω≡Φ∩δσ≥α. ╧≡Φ ≥αΩε∞ ε∩Φ±αφΦΦ Φφ≥σ≡⌠σΘ±α ∩≡σ⌠ΦΩ± public_ φσ Φ±∩εδⁿτ≤σ≥± . ╙Σεßφσσ ε∩Φ±α≥ⁿ Γσ±ⁿ Φφ≥σ≡⌠σΘ± ±Ω≡Φ∩δσ≥α Γ εΣφε∞ ∞σ±≥σ, ΩαΩ ²≥ε ∩≡σΣδαπασ≥± ± Φ±∩εδⁿτεΓαφΦσ∞ εß·σΩ≥α public_desription, ≈σ∞ ≡α±±σΦΓα≥ⁿ ε∩Φ±αφΦσ ∩ε Γ±σ∞≤ ΩεΣ≤ ±Ω≡Φ∩≥α. ┬ ΣαδⁿφσΘ°σ∞ ∩≡σΣ∩εδαπασ≥± ≡σαδΦτεΓα≥ⁿ ∩εΣεßφ√Θ ∞σ⌡αφΦτ∞ Φ φα VBScript.
┬ Ωα≈σ±≥Γσ Σσ∞εφ±≥≡α÷ΦΦ ∞εµφε ∩≡Φ±εΓεΩ≤∩Φ≥ⁿ ±≥αφΣα≡≥φ√σ Microsoft ∩≡Φ∞σ≡√ DHTML ±Ω≡Φ∩δσ≥εΓ. www.microsoft.com/scripting/.