2013-08-16 88 views
0

運行一些在chrome中工作正常但在最新版本的Mozilla中失敗的畫布。我知道這是一個問題,並且我認爲新的處理1.4.1.js被固定以適應這裏看到的for循環故障。有誰知道他們是否做到了,爲什麼會發生這種情況,以及如何解決這個問題?

編輯:

測試代碼,這是行不通的:

void setup() { 
String names[] = {"Alexis", "Thomas", "Antoine"}; 
    for(String name : names) { 
    alert(name); // doesn't on Firefox 17+, bug? 
    } 
} 

void draw() { 
} 
+0

是您要添加任何代碼來說明什麼產生的錯誤?因爲如果沒有這種情況,任何人都不可能重現錯誤。 –

+0

這是在foreach循環中的一個非常常見的錯誤,但是肯定的是,這是一些不起作用的測試代碼: void setup(){ String names [] = {「a」,「b」,「c」}; for(String name:names){ alert(name); //不在Firefox 17+上,bug? } } void draw(){ } – ZekeDroid

回答

0

這是Processing.js一個問題,在Firefox中所討論的here最近的一些變化。

你有兩個選擇: 解決方案1是破解Processing.js文件由alexbbrown在上述鏈接(惡劣和骯髒的解決方案)的討論,基本上是發現實際Processing.js文件,編輯它與您喜愛的文本編輯和更改線路291-292來源:

到:

if (obj.iterator instanceof Function && obj.hasNext instanceof Function) 
return obj.iterator(); 

方案二是改變你的代碼,活的可愛的for-each語法(更柔和,妥協的解決方案),取代行:

for (String name : names) { 
    alert(name); // doesn't on Firefox 17+, bug? 
} 

與常見的語法:

for (int i = 0; i < names.length; i++) { 
    alert(names[i]); 
} 

不管你做什麼,可以將用於與你同在......

+0

好的謝謝。我只是想知道他們是否已經在更新的processing.js版本中更新了這個,但我猜他們還沒有。 – ZekeDroid

相關問題