2016-07-11 54 views
0

我正在嘗試使用webview從網址顯示PDF。我試着用src屬性和url屬性加載它。我也試圖從Javascript中的onLoaded事件加載它,但仍然沒有運氣...有沒有更好的方式來加載PDF文檔在Nativescript應用程序? webview加載一些像谷歌的網址沒有任何問題。以下是我嘗試過的一些代碼。從JS,而不是從XML在Nativescript中顯示來自URL的PDF

//did not work 
exports.viewLoaded = function (args) {  
    var page = args.object; 
    var webview = page.getViewById("eula-view"); 
    webview.url = "https://somewebsite/eula/foo.pdf"; 
}; 

// worked fine 
exports.viewLoaded = function (args) {  
    var page = args.object; 
    var webview = page.getViewById("eula-view"); 
    webview.url = "http://google.com"; 
}; 
+0

工作的網址是http時,不工作HTTPS,也許你不得不安裝SSL? –

+0

不幸的是,沒有什麼區別。 –

回答

2

我創建了一個NativeScript插件iOS和Android上顯示的PDF文件

// did not work 
<WebView row="0" id="eula-view" src="https://somewebsite/eula/foo.pdf"/> 

// did not work 
<WebView row="0" id="eula-view" url="https://somewebsite/eula/foo.pdf" /> 

//worked fine 
<WebView row="0" id="eula-view" url="http://google.com" /> 

加載。我還沒有親自嘗試使用Google Docs的WebView方法,因爲我需要從本地設備顯示PDF文件,並且不想要求激活的Internet連接。這個插件是nativescript-pdf-view。用法是這樣的:

平原NativeScript:

<Page 
xmlns="http://schemas.nativescript.org/tns.xsd" loaded="pageLoaded" 
xmlns:pdf="nativescript-pdf-view"> 
    <StackLayout> 
    <pdf:PDFView src="{{ pdfSrc }}"/> 
    </StackLayout> 
</Page> 

角2

// somewhere in the JavaScript/TypeScript: 
import 'nativescript-pdf-view'; 

// in the view: 
<PDFView [src]="pdfSrc"></PDFView> 
+1

謝謝sooo張貼這個! PDF格式的src仍然可以成爲網址嗎?或者它必須是本地設備? –

+1

我剛剛在你的代碼中確認URL來源會起作用。我將其標記爲答案,因爲我覺得這是一個更好的實現。謝謝! –

+0

不用擔心。如果您發現任何問題,請隨時通過Github讓我知道,或者更好,讓PRs! :) – Merott