2010-09-21 47 views
1

我使用SWF處理以下開關/情況:SWFAddress,爲多個級別寫入開關/外殼?

switch (e.value) 
{ 
    case "/A" : 
     function A(); 
     break; 

    case "/B" : 
     function B(); 
     break; 

    case "/C" : 
     function C(); 
     break; 

    case "/" : 
     break; 

} 

問題是,當我在任何部分(A,B,或C)...有鏈接另一層面,說:

www.my-site.com/A/next-level-goes-here 

www.my-site.com/A/something-else-in-the-A-level 

www.my-site.com/A/third-thing-in-the-A-level 

我想寫什麼,發生在一個內部嵌套的情況下,但我怎麼去呢?

function anythingNestedInsideOfA() 
{ 
// handle all the stuff inside of A section here 
} 

回答

2

使用的ifsubstr組合:

var url:String=e.value; 

if (url=="/A") { 
A(); 
} else if (url.substr(0,3)=="/A/") { 
anythingNestedInsideOfA(); 
} else if (url=="/B") { 
B(); 
} else if (url.substr(0,3)=="/B/") { 
anythingNestedInsideOfB(); 
} ... 
+0

這太神奇了,謝謝! – redconservatory 2010-09-21 20:17:42

+0

或分割在「/」或「\」 – 2010-09-22 02:16:24

1

我不會使用這種類型的架構。從我的角度來看,您應該將該網址的尾部傳遞給負責該級別的對象。在這種情況下,您可以像處理「A」一樣處理,然後撕掉它並將其餘部分放到該對象中,在那裏顯示A的內容......等等。可能這對於StackOverflow來說是一個更普遍和更大的話題。

+0

這很有趣,因爲它是真的......我正在用代理類/控制器現在重寫整個東西......任何超過一層深的似乎都需要一些嚴肅的面向對象工作... – redconservatory 2010-09-25 17:59:18