嵌入Youtube视频警告

时间:2012-01-08 20:28:41

标签: iphone ios ipad youtube warnings

所以在我的应用中,我使用以下代码嵌入了Youtube视频:

- (void)embedYouTube:(NSString*)url frame:(CGRect)frame {  
    NSString* embedHTML = @"\ 
    <html><head>\ 
    <style type=\"text/css\">\ 
    body {\ 
        background-color: transparent;\ 
    color: white;\ 
    }\ 
    </style>\ 
    </head><body style=\"margin:0\">\ 
    <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ 
    width=\"%0.0f\" height=\"%0.0f\"></embed>\ 
    </body></html>";  

    NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, fra    me.size.height];  
    if(videoView == nil) {  
        videoView = [[UIWebView alloc] initWithFrame:frame];
        videoView.delegate = self;
        [self.view addSubview:videoView];  
    }  
    [videoView loadHTMLString:html baseURL:nil];  
}

完全如上所示格式化。但是,我得到11个警告,都说:

  

以空格分隔的反斜杠和换行符

所以我的问题是,我该如何解决这个问题?我不是很熟悉HTML,所以我真的不知道我能做什么,也不能做什么。提前致谢

修改 我把所有的HTML都放到了一行,它将我的警告从11减少到1,这就是

  

未知转义序列'/ x20'

以下是该错误的代码:

    NSString* embedHTML = @"\ <html><head>\ <style type=\"text/css\">\ body {\ background-color: transparent;\ color: white;\ }\ </style>\ </head><body style=\"margin:0\">\ <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ width=\"%0.0f\" height=\"%0.0f\"></embed>\ </body></html>";  

3 个答案:

答案 0 :(得分:2)

虽然人性化的阅读,实际上在那里设置换行符,这基本上打破了你的NSString,同时确保你不会逃避新行,不会工作,试试以下内容:

NSString* embedHTML = @"<html><head><style type=\"text/css\">body { background-color: transparent; color: white;}</style></head><body style=\"margin:0\"><embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" width=\"%0.0f\" height=\"%0.0f\"></embed></body></html>";  

NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, fra    me.size.height];  
if(videoView == nil) {  
    videoView = [[UIWebView alloc] initWithFrame:frame];
    videoView.delegate = self;
    [self.view addSubview:videoView];  
}  
[videoView loadHTMLString:html baseURL:nil];  

答案 1 :(得分:1)

  

以空格分隔的反斜杠和换行符

这就是说你需要知道的全部 - 在反斜杠之后你有一个空间。这与HTML无关,而是与预处理器有关 - 换行必须在反斜杠之后立即进行转义。

为避免绊倒此问题,您可以使用多行字符串:

NSString* embedHTML =  
    @"<html><head>"
     "<style type=\"text/css\">"
     // ... etc.
     "</body></html>";

...或者只是从资源加载HTML而不是硬编码。

答案 2 :(得分:0)

尝试删除格式。将所有html放在一行。