Xcode - UIWebview 不显示 CSS、Javascript 或外部内容
Posted
技术标签:
【中文标题】Xcode - UIWebview 不显示 CSS、Javascript 或外部内容【英文标题】:Xcode - UIWebview not displaying CSS, Javascript or external content 【发布时间】:2012-07-24 10:29:08 【问题描述】:我正在使用 UIWebview 来显示本地 html 文件中提供的内容。
但是问题是页面没有正确显示,只有核心 html 被渲染,没有显示 css 样式或媒体内容。对于这个项目,我将整个 web 结构放在它们各自的文件夹中,并放在 Xcode 项目中(所有内容都显示在蓝色文件夹中)。
构建的应用程序包包含 web 文件夹,所有内容都在那里,所以我不确定为什么它不能正确显示。
这是我用来加载和显示网页的代码:
NSString *html = [[NSString alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"www/content/island-1" ofType:@"html"] encoding:NSUTF8StringEncoding error:NULL];
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:html baseURL:baseURL];
在 html 文件中,以下是对某些内容的代码引用:
<script type="text/javascript" src="../static/js/custom-event.js"></script>
<script type="text/javascript" src="../static/js/touch-source/Browser/Features.Touch.js"></script>
<link rel="stylesheet" href="../static/css/islands_popup.css">
<link rel="stylesheet" href="../static/css/content.css">
所有文件夹和文件均正确无误,没有丢失。有谁知道我可能做错了什么?
【问题讨论】:
请将您的 .js 和 .css 文件添加到您的项目文件夹中 【参考方案1】:XCode 不使用文件夹,它只使用它的包来存储所有数据。所以我建议你使用:
<script type="text/javascript" src="custom-event.js"></script>
实例:
<script type="text/javascript" src="../static/js/custom-event.js"></script>.
与您的 css 和其他文件相同。
此外,如果我们谈论.js
文件,请务必从以下位置删除文件::
目标-->构建阶段--->编译源
并添加到
目标-->构建阶段--->复制捆绑资源
因为当你第一次将.js
文件添加到项目时,XCode 不知何故认为它需要编译。
【讨论】:
【参考方案2】:您的相对引用(即“../[目录]/[文件名]”)是否正确?
我个人避免使用这些相对源引用,而是使用根相对:即 /[网站根目录]/[文件名]
【讨论】:
以上是关于Xcode - UIWebview 不显示 CSS、Javascript 或外部内容的主要内容,如果未能解决你的问题,请参考以下文章
UIWebView 加载但不显示网站 (XCode 4, iOS SDK 4.3)