問題タブ [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.
iphone - サファリのUIWebViewからのObjectiveCオープンリンク
UIWebViewを含み、UIWebViewDelegateを実装するUIViewControllerサブクラスがあります。私がやりたいのは、UIWebViewで押されたリンクを作成してサファリで開くことです。
これに関する過去の質問を読みましたが、それでも機能させることができません。これが私がしたことについてです:
- (void)viewDidLoad
私のクラス のメソッドでは、次のコードを使用します。
articleWebViewオブジェクトにロードされているhtmlページ全体を表示したくないので、-(void)webViewDidFinishLoad:(UIWebView *)webView
メソッドでは次のように使用します。
NSString *content = [articleWebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('myDivId')[0].outerHTML;"];
次に、articleWebViewを空(リリース)して、コンテンツをロードします。
以下を使ってみましたが、うまくいきません
私が欠けているアイデアはありますか?
前もって感謝します。
編集:私が見ることができるように、shouldStartLoadWithRequestは呼び出されないので、私のwebViewのデリゲートに何か問題があると思いますか?
xcode - UIWebViewデリゲートコードが正しくないようです
見つけたUIWebViewを使用してサンプルコードを実装しましたが、機能しますが、正しく表示されません。具体的には、UIWevViewデリゲートを2回(viewDidLoadとviewWillAppearで)設定するためです。また、myWebViewは自動解放オブジェクトとして設定されていますが、dealocで解放されます。誰かがこれをきれいにする方法を教えてくれることを願っています。
javascript - UIWebViewがiTunesアプリをロードしないようにする
iTunesのURLをロードするときにUIWebViewがiTunesアプリを開かないようにするにはどうすればよいですか?
URLの例:http://itunes.apple.com/nl/app/bluppr-postcards/id348147229?mt = 8
上記のURLは、iTunesアプリを直接ロードします。UIWebViewDelegateは、UIWebViewにページをロードするだけでこれを制御できないようです。
JavaScript関数detectAndOpenItunes()によって制御されているようです。ページの本文タグにあります。
何か案は?
ios - UIWebView の sizeToFit は一度だけ機能します
カスタム UIViewController には、カスタム UIViewController がデリゲートである 2 つの異なる UIWebView があります。webViewDidFinishLoad:webView
I callで、[webView sizeToFit]
UIWebView ごとに 1 つずつ、2 回呼び出されることを確認できます。ただし、非常に残念なことに、最初に呼び出されたものにのみ影響するようで、他のものは変更されません。明らかに、両方のコンテンツが境界を超えているため、それに応じてサイズが変更されることを期待しています。
さて、この問題に何時間も費やした後、何が問題なのかを理解するにはどうすればよいのでしょうか?
EDIT : どうやら問題は、sizeToFit を呼び出したときに、2 番目の UIWebView を配置したビューが画面に表示されないことです。ビューが表示された後に遅延して呼び出すと、期待どおりの動作が得られます。後で表示する必要があるため、表示せずにこれを行う方法を見つける必要があります。アイデア?
objective-c - Javascript から Obj-c へのリクエスト..値を Javascript に返す
私のアプリには、「webView:shouldStartLoadWithRequest:navigationType:」を使用して Obj-c 関数を呼び出す UIWebView コンポーネントがあります。ここでリクエストを解析し、必要な Obj-c コードを呼び出します。
次にやりたいことは、Webview に値を返すことです。たとえば、ステータス、メッセージなどです。
現在、いくつかのソリューションを試しましたが、何も機能していないようです。基本的なものなので、今はコードを投稿していません。
言及する価値のある 1 つの試みは、UIWebView ページでグローバル変数を設定する「stringByEvaluatingJavascriptFromString」を使用することです。次に、グローバル変数の変更を監視する無限ループ (タイムアウトあり) を実行しようとしました。Javascript は、Objective-c 関数から応答が返されたことを認識します。「無限ループ」がJavaScriptスレッドをブロックしていないように見えるため、これは機能していないようです。
以前にこの問題に遭遇した人はいますか。
UIWebViews スクリプト オブジェクトに直接アクセスできる関数「windowScriptObject」があるようです。残念ながらiOSでは利用できません。これに対する回避策を知っている人はいますか。今調べてみると..
ありがとう。
iphone - シミュレーターで実行しているか、デバイスで実行しているかにかかわらず、iOS の異なる出力
私はまだ非常に奇妙な問題を抱えています。アプリケーションをシミュレーターで実行しているか、iPhone で実行しているかにかかわらず、異なる出力が得られます。
次のコンソール ログを参照してください。
iPhone 初回実行、最初のキャリア セルをクリック
シミュレーターの初回実行、最初のキャリア セルのクリック
iPhoneでは、メソッドの後にメソッドwebViewDidFinishLoad
が読み込まれるようです。viewDidAppear
ただし、シミュレーターでは、メソッドの前webViewDidFinishLoad
にロードされます。viewDidAppear
何を与える?
編集:さらに奇妙なのは、UIScrollView と UIWebView を持つビューコントローラーをロードする最初のセルをクリックしたときにのみ発生することです。メソッドでクリックした後続のセルはすべて、webViewDidFinishLoad
メソッドの前にロードされviewDidAppear
ます。
これを修正できる方法はありますか?
iphone - 別のviewControllerが画面に表示されているときに、特定のUIViewControllerでメソッドを呼び出しますか?
たくさんのビューコントローラーを備えた通常のアプリがあります。たとえば、viewControllerA、viewControllerB、viewControllerWebなどです。
「viewControllerWeb」はUIWebViewDelegateであり、UIWebViewが含まれています。viewControllerAまたはviewCOntrollerBを操作しているときでも、メソッドを呼び出したいと思います。(のような方法[webview stringByEvaluatingJavaScriptFromString:]
)
だから本質的には、どういうわけか「viewControllerWeb」をバックグラウンドで開いてほしいようです。誰かがこのようなことを達成する方法を知っていますか?私はこれを間違った方法で考えていますか?
皆さんが私を助けてくれることを願っています!どうもありがとう!
iphone - iPhone SDK - UIWebView を保持してコピーする
iPhone サファリでは、画像を 1 秒間保持すると、画像を保存またはコピーするアクション シートが表示されます。同様に、UIWebView に保持している画像の URL を取得するにはどうすればよいですか? 前もって感謝します。
iphone - iPhone の WebView でクラッシュする
webView 内のアプリで URL を 3 ~ 4 回連続して開くと、次のようなクラッシュが発生します。
何が間違っている可能性がありますか?
iphone - デリゲート関数 shouldStartLoadWithRequest で NO を返した後、通常 didFailLoadWithError が呼び出されますか?
Apple の UIWebViewDelegate に記載されていないこの動作が見られます。
デリゲート関数に NO を返すと
この関数は、すぐにエラー 101 (この URL を読み込めません) で呼び出されます。
明示的にリクエストをキャンセルしたので、didFailLoadWithError が呼び出されるのは正常ですか?