問題タブ [uiwebviewdelegate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - UIWebview の NSString
私はNSString
自分のプロジェクト (iPhone 用の Objective-C) に webView を持っていますindex.html
。webView を呼び出し、その中にスクリプト (javascript) を挿入しました。
スクリプトで NSString を var として渡したり、その逆を行うにはどうすればよいですか?
これは例ですが、よくわかりません。
iphone - デリゲートメソッドを実装していますが、それでも警告が表示されますか?
私は独特の警告、特にこれを受け取っています:
...アプリケーションにこれらのメソッドがある場合:
...そしてUIWebViewのデリゲートをに設定した後でも、self
この警告が表示され、メソッドが呼び出されることはありません(NSLog
結果は提供されません)。
誰かがここで何が起こっているのかを正確に特定できますか?前もって感謝します!
iphone - UIWebViewのwebViewDidFinishLoadが最後に呼び出された時刻を正確に指定するにはどうすればよいですか?
この質問の以前の投稿、UIWebView-「最後の」webViewDidFinishLoadメッセージを識別する方法を読みました。でも実はあまり答えが出ませんでした。必要なのは、webViewでスクリプトを実行することですが、スクリプトの読み込みが完全に終了した後です。HTML内のフレームを文字列に読み込んでカウントし、読み取った文字列をUIWebViewにロードして、webViewDidFinishLoadが呼び出される回数をカウントしようとしましたが、それは機能しませんでした。それを達成する方法はありますか、またはwebViewDidFinishLoadが正確に呼び出されたときに誰かが教えてくれるので、フレームの代わりに何かを数えて使用できます。
前もって感謝します。
iphone - iPhone - UIWebView: ユーザーがページの一番下までスクロールしていることを検出する
そのため、ローカル HTML ファイル (ドキュメント プレビュー) を提供する UIWebView を内部に持つ UIView があります。また、「受け入れる」と「拒否する」UIButtons もあります。これらのボタンは、ユーザーが Web ページの一番下までスクロールした後にのみ表示される必要があります。UIWebView の一番下までスクロールするためのイベントをキャプチャする方法はありますか?
これに対する良い答えを見たことがありません。誰か助けてもらえますか?
前もって感謝します。
iphone - UIWebView オブジェクトを完全にコードで作成および管理するにはどうすればよいですか?
iOS アプリに UIWebView を追加していて、ボタンがクリックされたことに応じて開くようにしたい (したがって、このコードはボタンのイベント ハンドラーの 1 つに記述されます)。
この UIWebView をコードで動的に作成し、画面全体をカバーするように配置し、イベントに応答するにはどうすればよいですか (たとえば、UIWebView がネイティブ コードに UIWebView を閉じるように要求できるように、UIWEbView の shouldStartLoadWithRequest 関数に応答します)。
特に、Interface-Builder で何かを作成する必要がないようにしたいのですが、これを数行のコードに減らして、後で他のプロジェクトに簡単にコピー アンド ペーストできるようになれば素晴らしいと思います。
iphone - UIWebView の「ドキュメントを読み取れません」エラーの検出とカスタマイズ
さまざまなドキュメント タイプ (.xlsx、.jpg など) を使用して UIWebview をテストしていますが、それらのほとんどは問題なく開きます。ときどきローカル ファイルを開くと、次のメッセージが Web ビューに表示されます。
このエラーが発生する「理由」には関心がありません。たとえば、UIWebView にガベージ ファイルを (意図的に) フィードしたときに発生します。問題は、これが「いつ」発生するかを検出する方法がわからないことです。webView:didFailLoadWithErrorをトリガーせず、( @try & @catchを介して) NSExceptionをトリガーせず、 webViewDidFinishLoadでドキュメントを検査すると、webView.request.HTTPBodyは null です。
UIWebView がコンテンツを表示できない場合を検出する方法を知っている人はいますか?
iphone - UIWebViewでアプリのURLを処理するには?
最近、UIWebView が ITMS リンクで窒息していることがわかりました。具体的には、アプリの UIWebView から、このようなサイトに移動して[App Store で利用可能] リンクをクリックすると、UIWebView は「Error Domain=WebKitErrorDomain Code=101 The URL can't be示した。」
少しグーグルで調べた後、アプリ リンクのリクエストをキャッチし、iOS で処理する必要があることに気付きました。スキームが の「itms」で始まるかどうかを確認することから始めましたが-webView:shouldStartLoadWithRequest:navigationType:
、システムが処理できる他の種類のアプリ リンクがある可能性があることに気付きました。だから私は代わりにこれを思いついた:
これについて 2 つの質問があります。
- これは正気ですか?具体的には、エラー ドメインとエラー コードをチェックし、userInfo から URL 文字列を取得しています。そのようなものは残っている可能性がありますか?
- これは上記のリンクのアプリ ストア リンクでは機能しますが、自分のアプリに戻ると、「フレームの読み込みが中断されました」というエラーで失敗した後続のリクエストがあったようです。どうすればそれを取り除くことができますか? からのリクエストをOSに処理させると発生しない
-webView:shouldStartLoadWithRequest:navigationType:
ので、ちょっと面倒です。
そのような要求をどのように処理しますか?
uiwebview - UIWebViewでロングタッチを無効にする方法は?
アプリからのロングタッチを無効にしたい。WebView に読み込んでいる HTML を制御できません。
ios - UIWebView のデリゲートを設定する
UIWebView
使用するデリゲートを設定するにはどうすればよいwebViewDidFinishLoad
ですか?
iphone - UIWebView: 特定の URL をロードするときに webViewDidStartLoad/webViewDidFinishLoad デリゲート メソッドが呼び出されない
を使用して実装された基本的な Web ブラウザーがありUIWebView
ます。UIWebViewDelegate
一部のページでは、どのメソッドも呼び出されていないことに気付きました。
これが発生するページの例: http://www.youtube.com/user/google . 問題を再現する手順は次のとおりです (コントローラーのメソッドNSLog
に呼び出しを挿入してください)。UIWebViewDelegate
- 上記の YouTube URL を
UIWebView
[ここではUIWebViewDelegate
、ページの読み込み時にメソッドが呼び出されることに注意してください] に読み込みます。 - ページの「アップロード」カテゴリをタッチします
- そのカテゴリの任意のビデオをタップします [問題:新しいページが読み込まれるが、UIWebView デリゲートが呼び出されないことに注意してください]
他のリンクを読み込むときにデリゲート メソッドが呼び出されるため、これは のデリゲートが正しく設定されていないという問題ではないことはわかっていUIWebView
ます (たとえば、YouTube の外に移動するリンクをクリックしようとすると、デリゲートに気付くでしょう)。メソッドが呼び出されます)。
私の最初の直感は、デリゲート メソッドを呼び出さない可能性がある AJAX を使用してページが読み込まれていることが原因である可能性があるということでした。しかし、iPhone の Safari を確認したところ、この問題は見られなかったので、私の側に問題があるに違いありません。
また、Three20'sTTWebController
にも私が抱えているのとまったく同じ問題があることに気付きました。
しかし、この問題から発生する問題は、デリゲート メソッドが呼び出されないと、UI を更新して、新しい要求が読み込まれたときに、前後のブラウジング ボタンを有効/無効にすることができないことです。
なぜこれが起こっているのか、または新しいリクエストが行われたときにUIを更新するためにどのように回避できますか?