![](/img/trans.png)
[英]jQuery .load is not loading a local html file inside a Cocoa WebView
[英]Cocoa WebView - Loading a local HTML page
瀏覽了一下之后,我仍然無法弄清楚這一點。 我已將HTML頁面及其images目錄添加到Xcode中的項目資源組中(復制它們)。
當我嘗試使用以下代碼加載WebView時,文本顯示正常,但未加載圖像。
NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"index.html"];
NSString *htmlContent = [NSString stringWithContentsOfFile:path];
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
[[tempWebView mainFrame] loadHTMLString:htmlContent baseURL:url];
編輯:抱歉延遲,這里有一些失敗的基本HTML。
<html>
<body>
<img src="images/bg.png"></img>
</body>
</html>
我編輯的代碼看起來像這樣 -
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSURL *url = [NSURL fileURLWithPath:path];
[[webView1 mainFrame] loadRequest:[NSURLRequest requestWithURL:url]];
編輯2:剛剛意識到這是路徑的問題。 顯然<img src = "images/bg.png">
不起作用,但如果我將bg.png復制到根目錄並說<img src = "bg.png">
一切正常。 我仍然不確定我在哪里出錯了。
考慮執行以下操作:
這會將您的代碼減少到兩行,如果HTML代碼正確,則可以使用。
我認為這里的問題是在構建階段如何將文件復制到資源目錄。 在Xcode中顯示為組的任何文件夾在復制時都將被展平。 如果要將整個網站文件夾結構添加到項目中,則必須在添加結構時選擇“為任何添加的文件夾創建文件夾引用”。
例如:我有一個html文件,它引用同名文件夾中的圖像。 我將所有這些添加到我選擇'文件夾引用'的項目中:
我的項目中的文件將如下所示(請注意藍色文件夾):
構建項目時,將維護Web內容文件夾:
無需開始設置基本URL或使用字符串加載。 現在可以成功加載網頁,如下所示:
NSURL *url = [[NSBundle mainBundle] URLForResource:@"LocalTestWeb" withExtension:@"html"];
[[self.webView mainFrame] loadRequest:[NSURLRequest requestWithURL:url]];
這段代碼適合我(只有Canvas的問題):
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"index"
ofType:@"html"
inDirectory:@"html_files_folder"];
NSURL* fileURL = [NSURL fileURLWithPath:filePath];
NSURLRequest* request = [NSURLRequest requestWithURL:fileURL];
[[webView mainFrame] loadRequest:request];
您需要獲取base64字符串中的圖像文件數據。 並將該字符串放在img標簽中,如下所示。
<img src="data:image/png;base64,iVBORw0KGgoAAAANS..." />
有關詳細信息,請參閱此處: http : //danielmclaren.com/node/90
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.