2012-10-06 41 views
1

我使用bigDecimal.js:Web客戶端上大小數

https://github.com/iriscouch/bigdecimal.js 
在我的node.js項目服務器端

沒有問題但是當我嘗試在客戶端上同我似乎無法引用bigDecimal對象正確。在GitHub的頁面上有一個鏈接:

http://jhs.iriscouch.com/demo/_design/bigdecimal/_show/ui?e=321.4567890*123456789.123456789987654321 

我有一個鏈接到bigdecimal.js在我的html:

<script src="/javascripts/bigdecimal.js" type="text/javascript"></script> 

和腳本肯定是有的,因爲我可以在Chrome瀏覽到它。

我的代碼看起來是這樣的:

var bd = {"BigDecimal":BigDecimal, "BigInteger":BigInteger, "RoundingMode":RoundingMode}; 
var bigDeletedVideoID = bd.BigInteger('9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999'); 
var bigLowNum = bd.BigInteger('1'); 
alert(bigDeletedVideoID.subtract(bigLowNum)); 

但我在第一線得到一個錯誤的鍍鉻說:

BigDecimal is not defined. 

有沒有人有任何經驗,使用BigDecimal和怎麼做這在一個JavaScript Web客戶端?

更新:

我測試引用的.js庫,像這樣在localhost即代碼:

http://localhost:11709/javascripts/bigdecimal.js 

和我得到的警告消息正確顯示。

但是當我上傳現場直播服務器,現在它變成:

http://pazooza.azurewebsites.net/javascripts/bigdecimal.js 

突然我得到特別是2個錯誤:

  • 意想不到的標識bigdecimal.js線293
  • 的BigDecimal沒有定義

爲什麼來它適用於localhos噸,而不是在現場?

回答

0

來源:Load javascript via Firebug console

var script = document.createElement("script"); 
script.src = "http://pazooza.azurewebsites.net/javascripts/bigdecimal.js"; 
document.body.appendChild(script); 

似乎有不被任何命名空間衝突,因爲我重寫這個答案之前的猜測: 而是一個必須非常精確不使用符號「的BigDecimal」 js頁面已被加載...

這通常由onload事件處理。

原建議使用Node.js的框架或假設命名空間BD
通過https://github.com/iriscouch/bigdecimal.js

var foo=require("bigdecimal.js"); var i = foo.BigDecimal("1235"); 
+0

的建議我只是想你的建議Aki和我仍然得到錯誤在我最初的職位說明。我試過var bigDeletedVideoID = new BD.BigInteger('...');但沒有去... –

+0

工作亞基,感謝您的幫助! –