問題タブ [javascriptcore]
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 - JavaScriptCoreの移植性
アプリケーションにJavaScriptCoreを埋め込むことを検討しています。どれだけ持ち運びできるのか気になりますか?理想的には、Linux、Windows、OSX、Android、iOSで実行したいと思います。当然、OSXとiOSは問題にならないはずですが、残りはどうでしょうか。
javascript - JavaScriptCore のグローバル オブジェクトで文字列を公開する
JavaScript で移植可能なフレームワークを作成しました。さまざまな JavaScript インタープリター シェル環境でいくつかのパフォーマンス テストを実行したいと考えています。これを実現するには、コマンド ライン引数 (argv) をスクリプト コンテキストに渡すことができる必要があります。Rhino および Spidermonkey インタープリターはデフォルトで既にこれを行っており、スクリプト ファイルの後にすべての引数を、グローバル オブジェクトの「arguments」識別子にバインドされた配列として公開しています。当初は、同じ機能を v8 のサンプル シェルと JavaScriptCore jsc シェルに導入するつもりでしたが、これにはさらに多くの労力が必要であることにすぐに気付きました。テストを実行します。したがって、argv の最後の char* 要素を v8:: に変換して、これを v8 で機能させることができました。
残念ながら、私は JavaScriptCore で同じことを達成するのにはるかに苦労しています。JavaScriptCore C++ API に関する多くのドキュメントを見つけることができませんでした。また、JavaScriptCore jsc インタープリター ( Source/JavaScriptCore/jsc.cpp 内) のコードは、v8 サンプル シェルのコードよりも理解しにくいものです。
具体的には、次のタスクを説明するのに役立つリソース (ドキュメント、チュートリアル、サンプル コードなど) をいただければ幸いです。
- char* から新しい JavaScriptCore JSString インスタンスを作成する
- JSString インスタンスを GlobalObject グローバル オブジェクト インスタンスの識別子にバインドします。
jsc.cpp の関数 jscmain に単純にパッチを適用するつもりです。
誰でも提供できるガイダンスをいただければ幸いです。
c++ - コールバックには const 関数が必要です。オブジェクトのインスタンス メンバーを渡す方法
大規模な GTKmm/C++ アプリケーションで WebKitGTK+ を使用しています。JavaScriptCore を使用して、WebKitWebFrame および JSContext とやり取りしています。
JavaScript関数が呼び出されたときにGTK GUIコンポーネントと対話する必要があるため、私は立ち往生しています。この目的のために、私はJSObjectMakeFunctionWithCallback関数を見つけました。
コールバックは、def を使用して静的関数として定義する必要があります。
したがって、操作する必要がある GUI コンポーネントに戻るためにコールバックでオブジェクト インスタンスが必要になることを除いて、すべてが機能しています。
SO には同様の質問がたくさんありますが、ほとんどはオブジェクト インスタンスをコールバックに渡すことに焦点を当てています。この API でそれを行う方法がわかりません。
何か案は?
javascript - _func で始まるすべての JavaScript 関数を一覧表示する方法
文字列「_func」で始まる、独自の.jsファイル内のすべてのjavascript関数をリスト/配列で返すことは可能ですか?
WebKit の JSCore で行われます。
基本的に、ファイルに多数の関数がある場合、それらの関数を列挙するにはどうすればよいですか?
html - JavaScriptCore の代わりに V8 または Rhino で実行される HTML5 デスクトップ アプリ フレームワーク (Titanium や Adobe AIR など) はありますか?
私たちの製品であるデスクトップ アプリは、大量の HTML5 と JavaScript と、基本的に WebKit シェルである薄いプラットフォーム固有のレイヤーで構成されています。これはAppcelerator Titaniumのようなフレームワークとほぼ同じ戦略であり、このカスタム WebKit シェル コードにあまりにも多くの労力を浪費しているため、Titanium または同様のフレームワークに切り替えて処理することを望んでいました。
ただし、その過程で優れた最新の JavaScript エンジンを選択できれば、そのような切り替えはより魅力的になります。Titanium と同様に、私たちは現在 JavaScriptCore を使用していますが、これは最悪です (彼らはまだ ! を持っていませんFunction.prototype.bind
)。速度と最新性のために V8 を使用するか、おいしい JavaScript 1.7/ECMAScript ハーモニー機能のために Rhino を使用します。
これらのエンジンのいずれかを使用する HTML5 でデスクトップ アプリを構築するためのフレームワークを知っている人はいますか? または、ほとんど労力をかけずにチタンで動作させる方法はありますか? GitHub でv8_titaniumおよびrhino_titaniumプロジェクトを見ましたが、他のどこにも言及されておらず、使用方法に関するドキュメントもありません。また、Adobe AIR WebKit ページにも心強いものは何もありません。
javascript - JavaScriptCore フレームワークで JavaScript を実行するには?
Jasmine Test Frameworkの JavaScript ファイルを実行するために、次のコードを実装しました。
これは、HTML データを返す関数です...スクリプトを実行すると、例外で次のエラーが発生します。
私のスクリプトはjasmine
最初の行で変数を宣言していますが。上記のコードで他に何が問題になる可能性がありますか???? JavaScript を実行する他の方法はありますか??
もう 1 つの質問: JavaScriptCore フレームワークは DOM やその他の HTML の機能をサポートしていますか?
build - 古いマシンで実行するためにjsc/webkitの静的ビルドを作成します
私は、古いFedoraマシンのクラスターでさまざまなJavaScriptインタープリターのパフォーマンステストの調査を行っています。node / v8、rhino、およびspidermonkeyシェルはすべてこれらのマシンで正常に動作しますが、最近のUbuntuボックスで構築できたJavaScriptCore(jsc)には、共有ライブラリの依存関係がありません(error while loading shared libraries: libicui18n.so.44: cannot open shared object file: No such file or directory
)。したがって、これらの古いマシンで実行できるように、すべての依存ライブラリがコンパイルされたjscの静的ビルドを作成したいと思います。これらの古いマシンでjscを実行できるように、Webkitの静的ビルドを作成する方法があるのか、それともjscだけを作成する方法があるのでしょうか。
javascript - Webkitのjavascriptからjavascriptの新しいオブジェクト情報を取得するには?
新しいオブジェクト情報名と引数を HTML ページに抽出したいと考えています。そのような
印刷する必要があります:
引数 10,20 を持つ新しいオブジェクト g
私はWebkitの初心者です。最初は、javascriptcore に printf ステートメントを追加するだけだと思っていました。JavaScriptCore/runtime/FunctionConstructor.cpp 、ObjectConstructor.cpp にいくつかの printf ステートメントを追加しました。
しかし、正しい結果が得られませんでした。
私はグーグルで検索しましたが、javascriptcore に関するチュートリアルはほとんどありません。専門家が私を正しい方向に向けてくれることを願っています。
javascript - WebKit / JavaScriptCore で Javascript から戻り値を取得する
JavaScript へのグローバル コンテキストを取得するために、JavaScriptCore API を使用しています。Javascript から返された値を C で操作できるようにしたいと考えています。関連するコード サンプルを次に示します。
ReturnOne() は、次のような JavaScript 関数です。
関数にアラートを入れると表示されるので、関数が正しく呼び出されていることがわかります。単純に数字の 1 を出力しようとしていますが、代わりに大きな負の値が返されます。JSValueToNumber を正しく解釈していませんか?
アドバイスをいただければ幸いです。ありがとう。
編集:私はいくつかの掘り下げを行って、この宝石を見つけました - https://lists.webkit.org/pipermail/webkit-help/2011-January/001849.html
残念ながら、この方法で C コードを実装しても同じ結果になります。Javascript の関数がプリミティブを返しているので、その Javascript プリミティブを期待値 (この場合は 1) に変換したいと考えています。
期待する数値を取得できる限り、オブジェクトが Javascript から返される代替手段でも問題ありません。
c - JavascriptCoreをCアプリケーションに埋め込む
CプロジェクトにJavascriptCoreを埋め込む方法に関する情報を見つけようとしています。V8とSpiderMonkeyの両方のガイドを見つけるのは簡単ですが、JSCのガイドを見つけるのはほぼ不可能です。どこを見ればいいのか誰か知っていますか?
V8はC++なので、埋め込みたくありません。SpiderMonkeyのAPIはひどいものだと聞きました。