問題タブ [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.

0 投票する
0 に答える
745 参照

javascript - Swift - stringByEvaluatingJavaScriptFromString- 画像をアップロード

私のアプリケーション内で、ユーザーに UIImagePickerController へのアクセスを許可して、写真を撮るか、ライブラリから選択して DocumentDirectory のパスに保存できるようにします。

私の目的は、別のViewControllerのWebView内から保存されたこのファイルにアクセスし、「ファイルを選択」ボタンをクリックしてファイルを選択するのではなく、ページの読み込みが終了したときにファイルを自動的にアップロードするようにJSを実行することです。 .

これは、値を調整したい要素です。

これは、Web ビューの読み込みが終了したときに実行しているものです。

imagePath と savedPhoto の両方を使用してみましたが、これは明らかに、要素にテキスト値を入力するほど単純ではありません。

JSを使用してこれを行うことは可能ですか? または、これを達成するためのより簡単な代替方法はありますか?

ありがとう

0 投票する
1 に答える
5898 参照

javascript - stringByEvaluatingJavaScriptFromString を使用して UIWebView に JavaScript 警告ダイアログを表示する方法はありますが、Swift で performSelectorOnMainThread は使用しません。

Objective-C では、次のコードが で機能しviewDidLoadます。

このコードは、次のように提案されています。

UIWebView stringByEvaluatingJavaScriptFromString は、GCD を使用して呼び出すと、iOS5.0/5.1 でハングします。

performSelectorOnMainThreadで動作すると言われていstringByEvaluatingJavaScriptFromStringます。これにより警告ダイアログが表示され、[OK] ボタンをクリックして閉じることができます。ただし、dispatch_async動作せず、ダイアログがフリーズし、[OK] ボタンを押すことができません。

問題は、上記のダイアログ機能を Swift で機能させる方法です。コードを Swift に変換する方法は?

問題はperformSelectorOnMainThread、Objective-C で使用されているものが Swift で使用できないことです。

で以下のコードを直接呼び出すとviewDidLoad、デバイスは LaunchScreen で一時停止されます。

代替ソリューションを試しましたperformSelectorOnMainThreadが、結果は起動画面がフリーズするか、警告ダイアログがフリーズします。

stringByEvaluatingJavaScriptFromStringSwift で JavaScript 警告ダイアログを表示するために呼び出す方法を教えてください。ありがとうございました。

0 投票する
1 に答える
994 参照

ios - webview stringByEvaluatingJavaScriptFromString から iframe src を取得する

URL が webview に読み込まれています。読み込みが完了したら、HTML 内にある iframe src を取得し、iframe src で webview をリロードします。

私のiOSコードでは、 webViewDidFinishLoad 内で、使用してiframeを取得しようとしています

webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('iframe').attr('src')"];

このJavaScriptはChromeコンソールで機能していますが、私には機能しません。

手伝ってくれませんか?

0 投票する
0 に答える
328 参照

javascript - WKWebView の要素の高さに関する JavaScript 例外 - Objective-C

WKWebView にロードする次の HTML 構造があります。

WKWebview の文字列として HTML の上に読み込んでいます。

内部 div の高さ (コンテンツに合わせて CSS に基づいて自動的にサイズ変更される) を次のように計算します。

WKWebView カテゴリに実装されている stringByEvaluatingJavaScriptFromString 関数:

私の問題は、エラーが発生することです:「JavaScript 例外が発生しました」、または stringByEvaluatingJavaScriptFromString を使用すると、値が正しくない場合があります。ただし、UIWebView で同じ高さの JavaScript を評価してみましたが、正しい値が返されました。WKWebview の何が問題になっていますか?

ありがとう !

0 投票する
1 に答える
54 参照

javascript - オブジェクトを JavaScript 関数呼び出しに渡す Objective c に関する問題

何が起こっているかの例を次に示します。 I'm などの単語でアポストロフィが使用されている場合、javascript 関数呼び出しに送信されたときに文字列で機能しないようです。アポストロフィの前にバックスラッシュを追加することについて読んだことがありますが、これはまだ機能しません。js 関数呼び出し onScan('%@') で、アポストロフィを「引用符」に置き換えることができず、括弧を使用してパラメーターを渡す場合も役に立たないことに気付きました。また、NSMutableString を単に NSString に変更しても、この例は変更されず、このリクエストの応答にも影響しません。どんな助けでも大歓迎です。