簡體   English   中英

WindowsPhone 8和AngularJs - ng-src無法正常工作?

[英]WindowsPhone 8 and AngularJs - ng-src not working?

我試圖在Windows Phone模擬器上運行我的(Phonegap / Angular)應用程序。 一切正常,但有些圖像不會顯示。 我發現ng-src是麻煩制造者。 當我使用src而不是ng-src在同一文件夾中的本地圖像時 - 它工作正常。

這里有一些例子:

dispalyed:

<img ng-click="mediaPlay()" ng-hide=showButton() src="img/go.png" style="float: right">

沒有顯示:

<img ng-src="img/{{poi.poiimage}}" style="display: block; margin: 0 auto">

我的應用程序在Android和IO上運行良好。

任何想法如何解決這一問題?

編輯*

好吧現在它變得怪異o0 ...我在ap標簽中推出了這個“img / {{poi.poiimage}}”它給了我這條路:img / poi-12-galgentor-01.png

所以我用src試了一下:

<img  src="img/12-galgentor-01.png" style="display: block; margin: 0 auto">

和ng-src:

<img  ng-src="img/12-galgentor-01.png" style="display: block; margin: 0 auto">

兩者都適合我!

但是這個...

<img ng-src="img/{{poi.poiimage}}" style="display: block; margin: 0 auto">
<img src="img/{{poi.poiimage}}" style="display: block; margin: 0 auto">

不起作用。

EDIT2 *

在模擬器瀏覽器中測試過......工作正常。 -.-

這本身並不是解決方案:Angularjs在WP8設備上被破壞了。

不它不是...

我知道了:

這只是舊IE和Windows手機的一個問題。 SrcUrls必須是whitelistet。 Otherwhise angular在每個src Url上生成一個“unsafe:”前綴。 它可以通過更改角度應用程序配置來修復,如下所示:

schreibwerkApp.config(['$routeProvider', '$compileProvider',
    function ($routeProvider, $compileProvider) {
        $compileProvider.imgSrcSanitizationWhitelist('img/');

        $routeProvider.
            when('/splash', {
                templateUrl: 'partials/splash.html'
            }).
            when('/terms', {
                templateUrl: 'partials/terms.html'
            }).
            when('/intro', {
                templateUrl: 'partials/intro.html'
            }).
            when('/poi/:stationID', {
                templateUrl: 'partials/poi.html',
                controller: 'PoiCtrl'
            }).
            when('/directive', {
                templateUrl: 'partials/directive.html'
            }).
            when('/imgview/:stationID/:imgID', {
                templateUrl: 'partials/imgview.html',
                controller: 'ImgCtrl'
            }).
            otherwise({
                redirectTo: '/splash'
            });
}]);

Windows Phone使用不同的內部URL前綴:“x-wmapp”。 我已經看到它使用“x-wmapp0”所以為了安全起見我修改了標准的imgSrcSanitizationWhitelist如下:

$compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|chrome-extension|x-wmapp.?):|data:image\//);

這本身並不是解決方案:Angularjs在WP8設備上被破壞了。

我的一位同事正在努力修復。 我已經給他打了一拳,並且在我擁有它時會發布更多信息。

- 編輯 - 這是Angular.js板上的一個問題,似乎表明在CDV 3.4.0中解決了wp8上的角度問題

我正在使用Cordova和AngularJS制作Windows通用應用程序。 我嘗試了上面的所有解決方案以及我在互聯網上找到的其他解決方案,但沒有任

然后,我發現在我的Windows 10(pc)中, img src attributes附加了ms-appx 所以,我在imgSrcSanitizationWhitelist添加了ms-appx imgSrcSanitizationWhitelist和其他選項,它現在正在工作......

所以,我的代碼看起來像,

$compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|ms-appx|chrome-extension|x-wmapp.?):|data:image\//);

在Windows Phone 8.1和Android中測試我的應用程序后,我將更新此答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM