【问题标题】:NSURL from File -> Editing text of data then turn back into URL = NULLNSURL from File -> Editing text of data 然后变回 URL = NULL
【发布时间】:2011-11-29 14:35:47
【问题描述】:

我有一个 html 文件,我想在显示之前对其进行动态编辑以更改某些值。

我得到文件很好,然后替换我想要的文本,仍然很好。但是当我将它转换回 NSURL 时,它显示 NULL 和 WebKitErrorDomain 错误 101。

代码如下:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"html"];
NSURL *theURL = [NSURL fileURLWithPath:filePath isDirectory:NO];
NSError *error;
NSString* text = [NSString stringWithContentsOfURL:theURL encoding:NSASCIIStringEncoding error:&error];

NSString  *newURL = @"SRC=\"http://75.25.157.90/nphMotionJpeg?Resolution=640x480&Quality=Standard\"";

text = [text stringByReplacingOccurrencesOfString:@"__SRC__" withString:newURL] ;

NSURLRequest *newRequest = [ [NSURLRequest alloc] initWithURL: [NSURL URLWithString:text] ]; 
[web loadRequest:newRequest];

我在 html 文件中有“__SRC__”,我想用上面的 newURL 字符串替换它...

任何指针都会很棒。我已经尝试了我能想到的一切......

---- 添加了 HTML 代码 ----

<HEAD>
<META HTTP-EQUIV="expires" CONTENT="0">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<TITLE>ImageViewer</TITLE>
<META http-equiv="Content-Script-Type" content="text/javascript">
<META http-equiv="Content-Style-Type" content="text/css">
</HEAD>

<BODY onLoad="setParam();play();" BGCOLOR="#EFEFEF" TEXT="#ffffff" 
LINK="#ffffff" VLINK="#ffffff"          ALINK="#ffffff" TOPMARGIN="0" LEFTMARGIN="0" MARGINHEIGHT="0"           MARGINWIDTH="0">

<INPUT TYPE=hidden NAME="Width" VALUE="640">
<INPUT TYPE=hidden NAME="Height" VALUE="480">
<INPUT TYPE=hidden NAME="Language" VALUE="0">
<INPUT TYPE=hidden NAME="Direction" VALUE="Direct">
<INPUT TYPE=hidden NAME="PermitNo" VALUE="514861200">
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD><INPUT TYPE=image NAME="NewPosition" __SRC__ WIDTH=320 HEIGHT=240 BORDER=0></TD>
</TR>
</TABLE>

</BODY>
</HTML>

【问题讨论】:

  • 文本显示替换后的正确数据..

标签: ios uiwebview nsstring nsurl nsurlrequest


【解决方案1】:

您不能将 html 源代码转回 URL。

您可以将更新后的 html 发送到 UIWebView 进行显示。

- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL

或者你可以用一个网络服务器来服务它。

但也许有一个术语分解,我不明白 html 是什么,请发布它或至少一个示例。

【讨论】:

  • 所以,@iOSGys 说替换是正确的。关键是 URL 是一个带有可选参数、查询字符串等的地址,不是一个 html 文件。问题实际上是“替换后你想用这个 html 做什么?”我要求提供 html 只是为了确保它不仅仅是一个 URL——我一直在处理一些非常糟糕的 html 重定向。我还注意到您没有接受任何答案,这是不尊重的。 ;-)
  • 我正在尝试使用 HTML 文件作为要在 UIWebView 中显示的基础,但我需要动态更改 HTML 中的一些值,例如大小和链接......
  • 没关系,你可以使用- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL在UIWebView中显示html。
猜你喜欢
  • 2019-09-13
  • 1970-01-01
  • 2013-08-04
  • 1970-01-01
  • 1970-01-01
  • 2022-12-28
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
相关资源
最近更新 更多