2

私はiPhoneアプリを製造している会社と協力していて、彼らが管理しているWebビューにWebページを表示しようとしています。だから私が彼らに与えるのはURLだけであり、彼らは私が提供するページをカスタマイズするために特定のパラメーターでそれにヒットします。(私のページはiFrameで提供されるか、私が知らない他のマークアップで提供される可能性があります。)問題は、モバイルでリンクを開くことを目的としているときに、Webビューで開いているリンクがそのWebページにあることです。 Safariまたは別のWebビュー。_blankhrefタグのターゲット_selfを、、、、_parentおよび_top無駄に変更しようとしました。

はっきりしない場合は、アプリを制御できません。だから私はのようなものを試すことはできません[UIApplication openURL:[NSURL URLWithString:myLink]]。返すページのコンテンツのみを制御できます。

助言がありますか?

4

1 に答える 1

0

同じ Web ビュー内にとどまるには、href を使用しないでください。ontouchstart代わりにイベントを 使用してください。例:

<a ontouchstart="javascript:window.location = '../abc.html';">Click here</a>

しばらく前に、以下の JavaScript 関数を使用して、iPad でブラウジングする場合にのみ、href が ontouchstart イベントに変換されるようにしました。

function clearLinks()
{
var isiPad = navigator.userAgent.match(/iPad/i) != null;
if(isiPad)
    {
    var obj = document.getElementById('body').getElementsByTagName('a');
    for(var i =0; i<obj.length; i++)
          {
            var url = obj[i].getAttribute('href');
                if(url.indexOf("javascript")==-1)
                {
                obj[i].setAttribute('ontouchstart', "window.location='" + url + "'");
                obj[i].setAttribute('href', 'javascript:function(){return false;}');
                }
            }
     }

}
于 2012-07-16T21:34:40.993 に答える