2017-05-09 3 views
0

javascriptからobjective-cにデータを渡しています。私はIFRAMEを使用しています。
ここ が私のコードです:
context.htmlabout:getStartLoadWithRequestの空白をIOSのIFRAMEを使用してjavascriptから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

編集:私はopenCustomURLinIFrameメソッドを呼び出しているHTMLファイル内
方法。

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); 
} 

は、私は1つ以上 "/" URLで変数を追加します。

関連する問題