1

uiwebviewでjavascriptのどのボタンが呼び出されているのか知りたいのですが、私のスクリプトは

 function nextPage()
 {
   window.location = "page3.html";
 }
function prevPage()
 {
      window.location = "page1.html";
 }

私の現在のページはpage2.htmlです。ボタンアクションで、現在のページは前後に移動します

両方のボタンに name と onclick アクションを設定しました

<button onclick="prevPage();" id="back"></button>
<div id="counter">Page 1 of 13</div>
 <button onclick="nextPage();" id="next"></button>
</div>

どのボタンが呼び出されているかを知る方法。ボタンクリックアクションのwindow.location内の値も必要です

前もって感謝します

4

1 に答える 1

1

nextPage および prevPage JavaScript メソッドで、Web ビュー デリゲート内で解析できるカスタム URL を作成します。

function nextPage()
{
    window.location.href = "file://yourappname?nextPage";
}
function prevPage()
{
     window.location.href = "file://yourappname?prevPage";
}

次に、Web ビューのデリゲートで、shouldStartLoadWithRequest を実装します。

-(BOOL)webView:(UIWebView *)webView 
shouldStartLoadWithRequest:(NSURLRequest *)request 
 navigationType:(UIWebViewNavigationType)navigationType 
{
    NSString *urlString = request.URL.absoluteString;
    if (urlString hasSuffix:@"prevPage"])
    {
        NSURL *url = [NSURL urlWithString:@"Page1.html"];
        NSURLRequest *urlRequest = [NSUrlRequest requestWithURL:url];
        [webView loadRequest:urlRequest];
    }
    else if ([queryString hasSuffix:@"nextPage"])
    {
        NSURL *url = [NSURL urlWithString:@"Page3.html"];
        NSURLRequest *urlRequest = [NSUrlRequest requestWithURL:url];
        [webView loadRequest:urlRequest];
    }
    return YES;            
}

もちろん、これは単純な例です。実際のコードでは、@"Page1.html" と @"Page3.html" をコードに置き換えて、現在のページを追跡し、それに応じてページを前後に移動する URL 文字列を作成する必要があります。 .

于 2013-08-08T14:03:21.527 に答える