none
[問題]寫VBScript時遇到問題了。還未解決啊!請各位MVP再進來一下!!! RRS feed

  • 問題

  • 大家好,我是第一次來到這個論壇,因為寫VBScript時遇到些很難攪的問題,所以上來問問,希望能得到協助。

     

    是這樣的,

    Location.Href 是框架內網頁的網址

     

    If Location.href的值改變時 Then

    Object.value=Location.Href

    End If

     

    如果我想把他寫成Sub,使他能自動檢查Location.href的話該怎樣寫?

     

    Sub Location.href_OnChange

    Object.value=Location.Href

    End Sub

     

    意思就是:

    在任何時候Location.href被改變時

    Object.value便等於Location.Href

     

    我想知道上面紅字的該寫成什麼才會正確?還是要用另一種寫法?

     

    示意圖

    http://irregularhunterx.googlepages.com/qvbscript1show.png

    2007年9月3日 下午 08:35

解答

  • Locaton.href,那不就是頁框的 URL ?

     

    我的想法是:

     

    1. 在被導向前,處理 window.onunload 事件。

    2. 在導向後,處理 window.onload 事件。

     

    兩者選其一。

     

    我本來不想理你的,這個論壇上每個人都在求救,不是只有你而已。

    2007年9月4日 上午 02:12
    版主

所有回覆

  • Locaton.href,那不就是頁框的 URL ?

     

    我的想法是:

     

    1. 在被導向前,處理 window.onunload 事件。

    2. 在導向後,處理 window.onload 事件。

     

    兩者選其一。

     

    我本來不想理你的,這個論壇上每個人都在求救,不是只有你而已。

    2007年9月4日 上午 02:12
    版主
  • 你需要的是把線上手冊物件模型看一遍。

     

    對你比較急的是

    window 的事件 :  http://msdn2.microsoft.com/en-us/library/ms535873.aspx

    document 的事件 : http://msdn2.microsoft.com/en-us/library/ms535862.aspx 

    body 的事件 :  http://msdn2.microsoft.com/en-us/library/ms535205.aspx

     

    相同的事件在 body 內也有,如何選擇 body 跟 window 就看你的應用了。

     

    換句話說,你原先的問題表示你根本沒看線上手冊,才會把屬性也當成有事件。

    2007年9月4日 上午 03:09
    版主
  • 多謝幫忙啊...原來是這樣的嗎...onload是代表網頁onload時發生的事情,而不是框架onload的時事情?

     

    但我的想法該是,每個在框架裡的網頁即使沒有window onload的句子所表達的事情,onload時都會進行某個程序。

     

    2007年9月4日 下午 03:44
  • 麻煩英文看仔細,會特別點到 body 不是沒有意義。

     

    window_onload

    Remarks

    The browser loads applications, embedded objects, and images as soon as it encounters the applet, embed, and img objects during parsing. Consequently, the onload event for these objects occurs before the browser parses any subsequent objects. To ensure that an event handler receives the onload event for these objects, place the script object that defines the event handler before the object and use the onload attribute in the object to set the handler.

    The onload attribute of the body object sets an onload event handler for the window. This technique of calling the window onload event through the body object is overridden by any other means of invoking the window onload event, provided the handlers are in the same script language.

    2007年9月4日 下午 04:16
    版主
  •  

    的確,我沒有看過線上手冊,之前學過VB,從別的網站參考過VBS的寫法就開始寫了…...

     

    VB的寫法是有被如

    Private Sub Text1 OnChange()

    之類的寫法

     

    Vbs 裡 .Location是物件,物件下又有屬性,這點我現在應該了解到的,大概...。

     

    謝謝你把手冊交給來...看來可以認真地學到Vbs…這太好了,不是嗎?

     

     

     

    2007年9月4日 下午 04:45
  • 這個明白……了…點到body...即是說,我只需在Frame設定一個Onload不就行了?

    2007年9月4日 下午 04:50
  •  

    對不起...好像沒有反應的...

    我是這樣寫的...

    <frame name="framename" src="part2.html" onload="objectload()">

     

    然後script是

    Sub objectload()

     

    object.value=window.Parent.framename.location.href

     

    End Sub

     

    但當我點框架網頁裡的連結後...沒有進行過script的東西

     

    是不是必須直接寫成Sub framename_onload才有效?

    2007年9月4日 下午 05:07
  • 以貼個範例嗎?我又踫壁了…昏倒。

    2007年9月4日 下午 05:42