我在UIWebView上遇到问题。 我有一个显示html字符串的WebView。这个html字符串包含:
起初我只有Html +本地图像所以我使用了众所周知的方法:
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webview loadHTMLString:htmlString baseURL:baseURL];
一切都很完美。 但后来我不得不实施Facebook评论http://developers.facebook.com/docs/reference/plugins/comments/
由于我的旧BaseURL不再用于facebook,我试图加载
NSURL *baseURL = [NSURL URLWithString:@"http://www.facebook.com/"];
这使我的脸书工作正常,但即使是绝对路径,本地图像也不会显示在网页视图中。
任何帮助都会受到赞赏。谢谢你的时间
答案 0 :(得分:2)
有一种解决方案可以将img
标记与base64编码的图像数据一起使用,而不是使用网址。
这应该不是问题,因为您在本地拥有图像,请参阅html sample。
要快速测试,您可以使用在线编码service(50kb限制)
原始答案为here
截断的base64样本供将来参考:
<html>
<body>
<div id="fb-root"></div>
FB1
<script>
window.fbAsyncInit = function() {
FB.init({
appId : null,
channelUrl : null,
status : true,
cookie : true,
xfbml : true
});
};
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
FB2
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUh......lAmeQ/IAAAAASUVORK5CYII=" alt="Screen Shot 2012-05-23 at 6.53.28 AM.png" />
<div class="fb-comments" data-href="http://facebook.com" data-num-posts="2" data-width="470"></div>
</body>
</html>