是否可以UIWebview在iPhone中更改JavaScript警报标题?
在iOS中,如何从Javascript中调用Objective-C方法UIWebView并让它将数据发送回Javascript?我知道这可以使用Webkit库在OS X上完成,但是这可以在iOS上实现吗?PhoneGap如何实现这一目标?
我需要知道如何在HTML中使用JavaScript UIWebView来通知Objective-C发生了什么事情?
更确切地说,我正在用HTML播放一些JavaScript动画,我需要提醒动画结束的Objective-C代码.
我在Iphone和Android中都使用Web View.在Android中,我使用创建变量来调用本机Andriod函数/方法.但我无法在Iphone中找到类似的东西.那么,如何从JavaScript调用本机Iphone功能.
我正在webview中加载一个url,其中包含HTML和javascript函数调用.现在我正在研究用户触摸webview中的提交按钮时它应该调用viewController中的任何方法.Webview应该加载url(webview委托)是一种方法,但有任何新的方法来获取知道什么时候webview调用javascript函数应该通知viewcontroller或触发视图控制器中的任何方法.
我不是在寻找这个我们需要的解决方案
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
NSLog(@"passed data from web view : %@",[[request URL] query]);
if([[[request URL] query] isEqualToString:@"clickedOnLineNo"])
{
//Do your action here
}
Run Code Online (Sandbox Code Playgroud)
我们必须从你的javascript方法导航到假URL,比如
window.location = "someLink://yourApp/form_Submitted:param1:param2:param3";
Run Code Online (Sandbox Code Playgroud)
点击按钮或您需要的操作.
但JavaScriptCore是否有任何新的可能性来实现同样的目标.
我正在尝试让本地存储在Cocoa中的WebView中工作.我在另一个SO问题中使用了此处显示的代码,但它对我来说无法正常工作.正确创建本地存储并使其内容保持重新加载,但无论何时重新启动应用程序,都会立即删除旧的本地存储.
例如,我创建了一个新项目并在窗口中设置了一个WebView.然后我将以下代码放入我的AppDelegate.m:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
WebPreferences *prefs = [webView preferences];
[prefs _setLocalStorageDatabasePath:@"~/Library/Application Support/Test"];
[prefs setLocalStorageEnabled:YES];
[webView setMainFrameURL:@"http://static.diveintojavascript.com/files/tutorials/web-storage-contacts/contacts.html"];
}
Run Code Online (Sandbox Code Playgroud)
本地存储正确存储在正确的文件夹中,即使在退出应用程序后也会保留在那里,但是当应用程序再次启动时,旧的本地存储将被删除并创建一个新文件.
我有一个UIViewController在我的应用程序有UIWebView它.它UIWebView是固定大小的,并配置为打开新UIViewController(浏览器)中的任何链接.这很有效,但是当我尝试在网络视图中点击YouTube或Vimeo等视频时,它会在视图控制器顶部打开.这通常不是问题,但我有一个重叠的视图,需要在发生这种情况时让消息移开.
是否有通知或任何其他方式我的视图控制器可以在媒体播放器弹出时收到通知UIWebView?我真的需要这个更好地工作,因为它现在的方式真的很难看.
谢谢!
我正在构建一个混合应用程序(HTML,CSS,JS + Native iOS代码),并希望调用Web服务,但目前XSS Security正在阻止它.
关闭此安全功能需要做些什么(或者更有可能提供允许连接的白名单?)
谢谢您的帮助!
目前我正在使用此示例网站并在我的网页浏览中显示.网页显示正确.
现在,我试图找出用户点击uiwebview后选择了哪些数据.
为此,我可以通过使用获得点击CGPoint UITapGestureRecognizer.
-(void)singleTap:(UIGestureRecognizer *)gestureRecognizer
{
CGPoint touchPoint = [gestureRecognizer locationInView:myWebView];
NSString *js = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).toString()", touchPoint.x, touchPoint.y];
NSString * tagName = [myWebView stringByEvaluatingJavaScriptFromString:js];
NSLog(@"Selected Name: %@",tagName);
}
// In log it is displaying [object SVGPathElement]
Run Code Online (Sandbox Code Playgroud)
一旦用户在第一张图中选择垂直条,我想得到确切的数据(例如1994/1995/1996).
这该怎么做?
现在,我已经有了它,它的工作原理:
var myWebWorker = new Worker('myWebWorker.js');
myWebWorker.onmessage = function (myEvent) {
$('#Print').append('Return value: ' + myEvent.data + "<br>");
};
myWebWorker.postMessage(2);
Run Code Online (Sandbox Code Playgroud)
我的问题是:我可以这样做吗?
var result = myWebWorker.postMessage(2);
Run Code Online (Sandbox Code Playgroud)
因为我需要web worker同步 - 换句话说,给出一个返回值,直到你完成后才返回.
编辑1:
Web worker正在使用openDatabaseSync事务对本地数据库进行插入/选择.
编辑2:
我的问题似乎是Cocoa Touch,而不是JavaScript. 这是一个有人在StackOverflow上发布的聪明黑客.
编辑3:
这是一个更好的黑客.
javascript ×8
ios ×5
objective-c ×4
uiwebview ×4
iphone ×3
android ×1
cocoa ×1
hybrid ×1
ios7 ×1
ipad ×1
media-player ×1
web-worker ×1
webview ×1
xcode ×1
xss ×1