2010-06-10 86 views
2

我有一個非常離奇的問題,我的Adobe空氣應用程序。我有一個方法啓動一個本地HTML文件並將一些查詢字符串傳遞給它。Adob​​e空氣air.navigateToURL錯誤與Internet Explorer

下面是代碼:

function printWin(def) { 
     def = encodeURI(def); 
     var req = new window.runtime.flash.net.URLRequest('print.html'); 
     req.method = 'GET'; 
     var urlvars = new window.runtime.flash.net.URLVariables("d="+def); 
     req.data = urlvars; 
     air.navigateToURL(req); 
     return false;  
} 

問題是,如果這個代碼在運行時Internet Explorer被完全關閉,它是好的,並會創建這樣一個URL:

文件:/// C:/計劃%20Files%20(86)/Gastrointestinal%20Tumors%20Dictionar/print.html?d=ABC

但是,如果Internet Explorer已經運行和代碼運行,這是生成的網址:

C:\ Program Files文件 (x86)的\胃腸道腫瘤 字典\ print.html

我很茫然,爲什麼這是可惜我需要儘快解決這個問題。有沒有人有任何想法?

回答

0

您可以嘗試構建完整的URL而不是使用相對的「print.html」嗎?

試試這個:

var url:String = File.applicationDirectory.url.substring(0, File.applicationDirectory.url.lastIndexOf("/") + 1) + "print.html"; 
var req = new window.runtime.flash.net.URLRequest(url); 
... 

這應該讓你完整的文件:/// - 風格的URL每次。子字符串方法嘗試刪除當前文件,以便最終進入當前目錄,使您能夠執行相對路徑,除了它現在完全符合您的應用程序根目錄。