問題タブ [stringbyevaluatingjavascr]
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 - ローカルファイルを参照するJavascriptでstringByEvaluatingJavaScriptFromStringを使用することは可能ですか?
stringByEvaluatingJavaScriptFromStringを使用して、デバイス(ドキュメントフォルダー内)にあるローカルファイル(この場合はcssファイルですが、場合によってはjsファイルも)を参照するjavascriptを実行したいと思います...
これをどのように機能させるのですか?次のような外部cssファイルを使用すると正常に動作します
javascript - UIWebView javascript例外のsourceIdをソースファイルに関連付けるにはどうすればよいですか?
簡単な質問:例外の「sourceID」は何を指し、関連するソース文字列/ファイルにリンクするにはどうすればよいですか?
長い話:
を介してiPhoneネイティブアプリでJavascriptコードを実行してい[UIWebView stringByEvaluatingJavaScriptFromString:]
ます。開発を支援し、後でユーザー提供のコードを確認するために、次の関数を使用してコードを安全に実行します。
すべてがうまくいけば、正常に[MyJS runJS:js]
実行され、「js」コードの最後のステートメントの評価結果を含むJSON文字列が返されます。
これで、評価中に悪いことが起こった場合、JSON化された例外オブジェクトを取得します。たとえば、「js」コードの構文エラーの場合、次のようになります。
{"メッセージ": "解析エラー"、 "行":1、 "sourceId":26121296}
これは、問題を追跡するのにすでに非常に役立ちます...
ただし、複数の文字列を実行するrunJS:
ときに、例外の原因となった文字列を特定できるようにしたいと思います(以前のJavaScriptコード文字列で作成された関数からランタイムエラーが発生する可能性があるため)。この「sourceId」プロパティは面白そうに見えますが、それが何を指しているのかわかりません。ポインタアドレス(他のオブジェクトへのポインタと同様の値)のように見えますが、評価者に渡した文字列のいずれとも一致しません。このリンクを作成するにはどうすればよいですか?
ボーナスポイントについて:この例外オブジェクトのように、UIWebView固有のjavascript環境について利用できるドキュメントはありますか?Safari Webコンテンツガイドは素晴らしいですが、この種の詳細には触れていません。
performance - UIWebView から HTML 要素を削除するとパフォーマンスが低下する
現在、ページをサーフィンするために UIWebView を使用する iOS アプリを作成しています。を使用して UIWebView の要素を動的に削除する必要がある場合もありますstringByEvaluatingJavaScriptFromString:
が、これによりメイン UI がロックされることがあり、第 1 世代の iPod touch では最大 2 秒、iPhone 3GS では 0.5 秒程度かかることがあります。私がそれを削除するために使用している JavaScript は次のとおりです。
それ以上に複雑なことはありません。同時に、OpenGL ES で非常に基本的な 2D レンダリングを行っています。UIWebView の再レンダリングがロックアップしない場合は、メイン スレッドで単純な CoreAnimation を使用します。DOM ツリー、すべての要素の位置などを再計算する必要があるのでしょうか? これは本当にメイン UI スレッドをロックする必要がありますか? 私が呼んでいるのはstringByEvaluatingJavaScriptFromString:
、すべてをロックすることですか?これは正常で、この種のハードウェアで予期されることですか? 奇妙なことは、半複雑な MooTools アニメーションを webview でレンダリングし、不透明度と高さを変更できることですが、1 つの要素を削除するのに数秒かかります。
誰かが改善のアイデアを持っていますか? たぶん、使用して要素をvisibility: hidden
非表示にする方が良いか、または設定しopacity: 0
ますか? 経験からの考えや賢明な言葉はありますか?
uiwebview - ApplicationDidEnterBackground と UIWebview
アプリケーションに問題があります。ある種の webApp であるアプリケーションを構築しています。したがって、アプリケーションはサーバー上で実行され、UIWebview を介してやり取りします。
それでは、ここで何を達成しようとしているのかを説明しましょう。WebページにはいくつかのJavascript関数があり、stringByEvaluatingJavaScriptFromStringの例を使用してこれらの関数とやり取りします:コード:
サーバーはこのコマンドを実行し、次のことを行います
URLPrefix を ServerReply://() に設定し、これをキャッチします
したがって、URL にプレフィックス ServerReply:// がある場合、アプリで関数が実行されます。
これまでのところ、すべてがうまく機能していますが、ユーザーが HOME ボタンを押すか、電話を受けると. ApplicationDidEnterBackground メソッドが呼び出され、別の JS 関数を呼び出したい
コード:
サーバーは、プレフィックス SaveClientData://(somestring) を含む URL を提供する必要があります。
そのため、アプリが閉じて機能しません....私のコードは次のようなものです
コード:
これは機能しませんが、コードを実行すると:
アプリを終了するとログ メッセージが表示されます ...
[webView stringByEvaluatingJavaScriptFromString:@"gettingCl osed()"]; を実行することは可能ですか? アプリがバックグラウンドに移動した場合は? または、同じ結果を得るための別のアプローチがありますか...?
事前にtnx、
バート
objective-c - ローカル画像をUIWebViewにロードします
スクリーンショットを撮り、そのローカルパスをwebviewに送信したいので、それが表示されます。webviewがNSBundleから画像を取得できることは知っていますが、このスクリーンショットは動的に作成されます-コードで何かを追加できますか?
私はこのようにそれを試していました:
ただし、loadImageFunctionは、file:///またはfile://プレフィックスを使用してアクセスできません。解決策は何ですか?助けてくれてありがとう。
編集:コードに欠落している行を追加しました
解決策:Cyrilleのアドバイスとこのライブラリをエンコードに使用しました:http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html
javascript - UISlider値をstringByEvaluatingJavaScriptFromStringに渡しますか?
UISlider があり、その値を window.scrollBy 文字列に渡そうとしています。基本的に、ユーザーが構成可能な Web コンテンツの自動スクロールを試みています。
実際のスクロールは機能していますが、通常の %f および , メソッドを使用して JavaScript に値を渡すことができません。
上記を使用していますが、「5」をスライダーの値に置き換えたいと思います。
Java を追加しなくてもこれを実行できますか (私は JavaScript プログラマーではありません!)
ios - iOS - Javascript を使用して埋め込まれた YouTube ビデオを再生する
これが可能であることを願っています。UIWebView
アプリの 内に YouTube ビデオを埋め込みました。私はstringByEvaluatingJavaScriptFromString
javascriptを使用するためのアプローチを使用しています。アプリのボタンを押して YouTube 動画の再生を開始したい。ここに、私が言おうとしていることの概要を示すコードをいくつか示します。
埋め込み機能:
ハンドラー内を修正します。
要素プレーヤーにアラートを出すことができ、埋め込まれた HTML オブジェクトが検出されるため、javascript が機能していることはわかっていますが、再生を開始できません。player.playVideo();を試しました。とplayer.play(); 運がない。
助言がありますか?
ios - stringByEvaluatingJavaScriptFromStringリファレンスローカルファイル
バンドルリソースにある画像があり、webViewでソースファイル(src = "")として参照する必要がありますstringByEvaluatingJavaScriptFromString
。ウェブサイトから外部画像を参照することはできますが、ローカル画像のURLの書き方がわかりません。
これはどのように行うことができますか?
javascript - UIWebView ソース内のテキストの行間を変更する
UIWebView サブクラスの stringByEvaluatingJavaScriptFromString: に渡す JavaScript メソッドがあります。
これを stringByEvaluatingJavaScriptFromString: メソッドに追加しました。ピクセル値を指定する限り、コードは機能します。以下のコードのような変数を使用しても、何もしません。私は何を間違っていますか?
間隔を増やす必要があるか減らす必要があるかを伝えるために、 largeBool を使用しています。次に、最大値と最小値を設定し、行の高さを変数として使用しています。
また、UIWebView の didFinishLoading デリゲート メソッドを使用して、現在の行間隔の値を保存しています。
ログに「0」しか表示されません。
前もって感謝します!