Tag: uiwebview

如何从UIWebView上的JavaScript调用Objective-C方法?

可能重复: 如何从Cocoa / WebKit应用程序中的JavaScript调用Objective-C方法? 如何从Javascript调用Objective-C? 有没有办法在UIWebView上从JavaScript调用Objective-C代码? 在Android中,我可以从Web视图的JavaScript脚本调用Android方法,该脚本处理导航到应用程序中的另一个页面。 我如何在iOS中做到这一点?

在现有的HTMLinput字段中加载图像/徽标 – UIWebView

因为我是编程新手,所以我做了这样的事情: – (void)completeUserFieldsForWebView:(UIWebView *)webView withUsername:(NSString *)username { // TextField Which has Value "email" NSString *loadUsernameJS = [NSString stringWithFormat:@"var inputFields = document.querySelectorAll(\"input[type='email']\"); \ for (var i = inputFields.length >>> 0; i–;) { inputFields[i].value = '%@';}", username]; // TextField Which has Value "Text" if email is not found NSString *loadText = [NSString stringWithFormat:@"var inputFields = document.querySelectorAll(\"input[type='text']\"); \ […]

iOS UiWebView“帧加载中断”

我有一个UiWebView指向外部网站的会议过期30分钟不活动。 在我的应用程序中,我有一个embedded在应用程序中的自定义login页面,因为我无法使用远程站点中的一个。 此login页面是: file://index.html 当用户将应用程序放入后台时,如果应用程序在后台停留超过20分钟,我想要自动重新加载login页面(我知道这并不理想,但由于业务需求而被迫这样做) 。 我的代码做到这一点很简单: static NSDate *lastActivity = nil; – (void)applicationWillResignActive:(UIApplication *)application { lastActivity = [NSDate date]; } – (void)applicationDidBecomeActive:(UIApplication *)application { NSDate *now = [NSDate date]; NSTimeInterval time = [now timeIntervalSinceDate:lastActivity]; if(time > 60 * 20){ UIWebView *view = self.viewController.webView; NSURL *url = [NSURL URLWithString:self.viewController.startPage]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [view […]

embedded的UIWebView YouTube卷

我正在研究可以在UIWebView中显示YouTubevideo的iOS应用程序。 一切都很好,除了… 第一次播放video时,它的播放量约为10%。 设备音量设置为100%,用户界面中的播放器音量显示为100%。 退出networking视图并使用我们的本地stream媒体播放器播放应用程序中的歌曲,然后返回以正确音量播放的video。 事情不起作用 – (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0]; } – (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [[MPMusicPlayerController iPodMusicPlayer] setVolume:1.0]; } 这两个调用只是在屏幕上刷新音量改变的用户界面,对WebView音量不做任何操作。 如果您有任何想法,将不胜感激。

Swift:触发TableViewCell导致另一个ViewController中的UIWebView中的链接

当我点击一个tableViewCell我想要一个链接(这是特定于该单元格的indexPath.row )打开一个新的viewController与一个webView。 例如:我点击tableView的第三个单元格,www.apple.com打开一个新的viewController。 我试图用didSelectRowAtIndexPath做到这一点,但我不知道如何把代码放在一起,以便linksArray (其中我有所有链接存储)的代码一起工作,当我点击tableViewCell 我从Parse.com查询这些链接。 这是我的数组: var linksArray = [NSURL]( ) 我创build了一个名为LinkViewViewController的新类,我只把webView连接成一个@IBOutlet weak var webView: UIWebView! 没有别的。 我拿出viewDidLoad方法,以便可以从具有单元格的FeedTableViewController类控制LinkViewViewController 。 这是我的代码如下 override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { let myWebView = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! LinkViewViewController var url = NSURL(string:"\(links[indexPath.row])") var request = NSURLRequest(URL: url!) myWebView.webView.loadRequest(links[indexPath.row] as! NSURLRequest) } UPDATE 我也试图这样做,这也许更合乎逻辑。 我正在访问存储在ProductInfo类中的Parse中的链接。 productName数组代表单元按什么顺序排列,以便在产品名称上点击时可以访问链接。 override […]

iOS:WKWebView Vs UIWebView

我有一个应用程序/项目与部署目标版本 – iOS 10。 我已经使用了UIWebView ,现在已经废弃,并被WKWebView取代。 所以,我想用我的项目中的WKWebViewreplaceUIWebView。 它迫使我使用UIWebView (iOS 10)或将部署目标更改为iOS 11。 我不能改变部署目标,但作为一个中间件解决scheme,我添加了代码(编程)支持。 我的意思是,如果用户的设备操作系统是iOS 11(或以上),那么使用WKWebView否则使用UIWebView (iOS 10或更低版本)。 问题陈述:故事板的视图控制器不支持这两个版本,我的意思是,在故事板中,如果我将View Controller的部署目标设置为iOS 11,那么应用程序在iOS 10中崩溃(并且应该是明显的),如果我将视图控制器的部署目标设置为iOS 10,那么故事板不允许我build立项目。 对于iOS 10, WKWebView显示我这个错误: Xcode 9 GM – WKWebView NSCoding支持在以前的版本中被破坏 问题:如何让故事板(视图控制器)使用iOS 11的WKWebView和iOS 10的UIWebView ? 故事板(视图控制器)中是否有configuration设置或选项,可以让我添加两个接口?

如何使用loadHTMLString加载视图,在uiwebview中设置http头

我有一个UIWebView ,我使用loadHTMLString加载,我需要在请求标头上设置cookie。 我知道如何使用loadRequest来做到这一点,但不加载与loadHTMLString的webview我没有请求对象。 有没有人做过这样的事情?

代码来打开iphone webView中的.docx

我是iPhone新手,我试图在UIwebView中打开.docx文件,我写了下面的代码 NSString *urlAddress = [[NSBundle mainBundle] pathForResource:@"Arabic literature" ofType:@"docx"]; NSURL *url = [NSURL fileURLWithPath:urlAddress]; NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; NSData *data = [NSData dataWithContentsOfFile:urlAddress]; //[_webView loadRequest:requestObj]; [_webView loadData:data MIMEType:@"application/vnd.ms-word" textEncodingName:@"UTF-8" baseURL:nil]; 但它给了我以下例外: DiskImageCache: Could not resolve the absolute path of the old directory. Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil […]

RTF相当于UIWebView的loadHTMLString?

由于OS 3.0 UIWebView支持RTF文件 。 如果你有一个.rtf文件,很容易将其加载到uiwebview,例如 NSString *path = [[NSBundle mainBundle] pathForResource:documentName ofType:nil]; NSURL *url = [NSURL fileURLWithPath:path]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request]; 当加载存储在stringvariables中的HTML时,可以使用loadHTMLString 。 如何将一个string中存储的RTF直接加载到UIWebView ? 例如,如果你有一个包含{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 {\fonttbl\f0\fswiss\fcharset0 Helvetica;}….. loadHTMLString ,使用loadHTMLString会从字面上得到它。 我希望能够从一个stringvariables呈现RTF,而不必先保存到一个文件。

如何从UIWebView获取URL的哈希片段

我试图得到URL加载在UIWebView哈希片段,我已经尝试了不同的方法,它似乎并没有工作。 例如,如果UIWebView加载“http://www.mysite.com/home#main”: NSURL *url = [NSURL URLWithString:@"http://www.mysite.com/home#main"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request]; 那么我想获得完整的url,但它只返回“http://www.mysite.com/home”3种不同的方法: 1: NSString *currentURL = [webView.request.URL absoluteString]; 2: NSString *currentURL = [NSString stringWithFormat:@"%@",[[webView request] URL]]; 3: NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location.hash"]; 我错过了什么