diff --git a/src/windows/InAppBrowserProxy.js b/src/windows/InAppBrowserProxy.js index 68b5f59..1d17bc5 100644 --- a/src/windows/InAppBrowserProxy.js +++ b/src/windows/InAppBrowserProxy.js @@ -25,7 +25,8 @@ var cordova = require('cordova'), - channel = require('cordova/channel'); + channel = require('cordova/channel'), + urlutil = require('cordova/urlutil'); var browserWrap, popup; @@ -142,16 +143,24 @@ var IAB = { op.start(); } }, + injectScriptFile: function (win, fail, args) { - var file = args[0], + var filePath = args[0], hasCallback = args[1]; + if (!!filePath) { + filePath = urlutil.makeAbsolute(filePath); + } + if (isWebViewAvailable && browserWrap && popup) { - Windows.Storage.FileIO.readTextAsync(file).done(function (code) { - var op = popup.invokeScriptAsync("eval", code); - op.oncomplete = function () { hasCallback && win([]); }; - op.onerror = function () { }; - op.start(); + var uri = new Windows.Foundation.Uri(filePath); + Windows.Storage.StorageFile.getFileFromApplicationUriAsync(uri).done(function (file) { + Windows.Storage.FileIO.readTextAsync(file).done(function (code) { + var op = popup.invokeScriptAsync("eval", code); + op.oncomplete = function () { hasCallback && win([]); }; + op.onerror = function () { }; + op.start(); + }); }); } } diff --git a/tests/tests.js b/tests/tests.js index a48ffa6..4a9e5ef 100644 --- a/tests/tests.js +++ b/tests/tests.js @@ -19,6 +19,9 @@ * */ +var cordova = require('cordova'); +var isWindows = cordova.platformId == 'windows'; + window.alert = window.alert || navigator.notification.alert; exports.defineManualTests = function (contentEl, createActionButton) { @@ -306,8 +309,8 @@ exports.defineManualTests = function (contentEl, createActionButton) { var localhtml = basePath + 'local.html', localpdf = basePath + 'local.pdf', injecthtml = basePath + 'inject.html', - injectjs = 'inject.js', - injectcss = 'inject.css', + injectjs = isWindows ? basePath + 'inject.js' : 'inject.js', + injectcss = isWindows ? basePath + 'inject.css' : 'inject.css', videohtml = basePath + 'video.html'; //Local