Adobe air air.navigateToURL грешка с Internet Explorer

Имам наистина странен проблем с моето приложение Adobe Air. Имам метод, който стартира локален HTML файл и му предава някои елементи от низ на заявка.

Ето кода:

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 като този:

file:///C:/Program%20Files%20(x86)/Gastrointestinal%20Tumors%20Dictionar/print.html?d=ABC

Ако обаче Internet Explorer вече работи и кодът се изпълнява, това е URL адресът, който се създава:

C:\Program Files (x86)\Gastrointestinal Tumors Dictionary\print.html

Не знам защо е така, но за съжаление трябва спешно да опитам и да поправя това. Някой има ли идеи?


person Chris James    schedule 10.06.2010    source източник


Отговори (1)


Можете ли да опитате да изградите пълния 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);
...

Това трябва да ви дава пълния file:///-style URL всеки път. Методът подниз се опитва да хакне текущия файл, така че да се окажете в текущата директория, оставяйки ви със същата възможност да направите относителен път, с изключение на това, че сега е напълно квалифициран към корена на вашето приложение.

person Jordan    schedule 19.06.2010