2017-05-09 84 views
0

我将我的数据从javascript传递到objective-c。为此,我正在使用IFRAME。
这里是我的代码:
context.html获取about:blank在shouldStartLoadWithRequest中,同时将数据从JavaScript传递到使用IOS中的IFRAME的objective-c 10

function openCustomURLinIFrame(src) 
{ 
    alert(src); 
    var rootElm = document.documentElement; 
    var newFrameElm = document.createElement("IFRAME"); 
    newFrameElm.setAttribute("src",src); 
    document.documentElement.appendChild(newFrameElm); 
    //remove the frame now 
    newFrameElm.parentNode.removeChild(newFrameElm); 
    newFrameElm = null; 
} 

Indoor.m

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    NSLog(@"Loading: %@", [request URL]); 
    NSURL *url = [request URL]; 
    NSString *urlStr = url.absoluteString; 

    return [self processURL:urlStr]; 

} 

我越来越

负荷:约:空白

我正在使用xCode 8.2.1它在IOS 9.3中运行良好,但在iOS 10.2中无法运行。

编辑:
我在.html文件中的快捷截图。
My alert screenshot in .html file

编辑:在HTML文件中
方法,我称之为openCustomURLinIFrame方法。

function calliOSFunction(functionName, args, successCallback, errorCallback) 
{ 
    var url = "js2ios://"; 
    var callInfo = {}; 
    callInfo.functionname = functionName; 
    //alert("Custom menu clicked !!"+functionName); 
    if (successCallback) 
    { 
     //alert("Success !!"+functionName); 
     callInfo.success = successCallback; 
    } 
    if (errorCallback) 
    { 
     //alert("Error !!"+functionName); 
     callInfo.error = errorCallback; 
    } 
    if (args) 
    { 
     //alert("args !!"+args); 
     callInfo.args = args; 
    } 
    url += JSON.stringify(callInfo) 
    openCustomURLinIFrame(url); 
} 

帮我解决这个问题。

回答

1

终于很久以后,我得到了我的答案。

function calliOSFunction(functionName, args, successCallback, errorCallback) 
{ 
    var url = "js2ios:///"; /* Added one more "/" */ 
    var callInfo = {}; 
    callInfo.functionname = functionName; 
    //alert("Custom menu clicked !!"+functionName); 
    if (successCallback) 
    { 
     //alert("Success !!"+functionName); 
     callInfo.success = successCallback; 
    } 
    if (errorCallback) 
    { 
     //alert("Error !!"+functionName); 
     callInfo.error = errorCallback; 
    } 
    if (args) 
    { 
     //alert("args !!"+args); 
     callInfo.args = args; 
    } 

    url += JSON.stringify(callInfo) 

    openCustomURLinIFrame(url); 
} 

我添加一个 “/”,在URL变量。

相关问题