Files
godot-docs-l10n/classes/zh_CN/class_javascriptbridge.rst

200 lines
12 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/JavaScriptBridge.xml.
.. _class_JavaScriptBridge:
JavaScriptBridge
================
**继承:** :ref:`Object<class_Object>`
单例,在 Web 导出中将引擎与浏览器的 JavaScript 上下文连接。
.. rst-class:: classref-introduction-group
描述
----
JavaScriptBridge 单例仅在 Web 导出中实现。它用于访问浏览器的 JavaScript 上下文。这允许与嵌入页面或调用第三方 JavaScript API 进行交互。
\ **注意:**\ 可以在构建时禁用该单例以提高安全性。默认情况下,启用 JavaScriptBridge 单例。官方导出模板也启用了 JavaScriptBridge 单例。有关详细信息,请参阅文档中的\ :doc:`《为 Web 平台编译》 <../contributing/development/compiling/compiling_for_web>`\ 。
.. rst-class:: classref-introduction-group
教程
----
- `为 Web 导出:从脚本调用 JavaScript <../tutorials/export/exporting_for_web.html#calling-javascript-from-script>`__
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+-------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`JavaScriptObject<class_JavaScriptObject>` | :ref:`create_callback<class_JavaScriptBridge_method_create_callback>` **(** :ref:`Callable<class_Callable>` callable **)** |
+-------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`create_object<class_JavaScriptBridge_method_create_object>` **(** :ref:`String<class_String>` object, ... **)** |vararg| |
+-------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`download_buffer<class_JavaScriptBridge_method_download_buffer>` **(** :ref:`PackedByteArray<class_PackedByteArray>` buffer, :ref:`String<class_String>` name, :ref:`String<class_String>` mime="application/octet-stream" **)** |
+-------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`eval<class_JavaScriptBridge_method_eval>` **(** :ref:`String<class_String>` code, :ref:`bool<class_bool>` use_global_execution_context=false **)** |
+-------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`force_fs_sync<class_JavaScriptBridge_method_force_fs_sync>` **(** **)** |
+-------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`JavaScriptObject<class_JavaScriptObject>` | :ref:`get_interface<class_JavaScriptBridge_method_get_interface>` **(** :ref:`String<class_String>` interface **)** |
+-------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`pwa_needs_update<class_JavaScriptBridge_method_pwa_needs_update>` **(** **)** |const| |
+-------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`pwa_update<class_JavaScriptBridge_method_pwa_update>` **(** **)** |
+-------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
信号
----
.. _class_JavaScriptBridge_signal_pwa_update_available:
.. rst-class:: classref-signal
**pwa_update_available** **(** **)**
在检测到该渐进式网络应用程序的更新,但因为存在活动的较早版本而等待激活时触发。要强制立即执行更新,请参阅 :ref:`pwa_update<class_JavaScriptBridge_method_pwa_update>`\ 。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法说明
--------
.. _class_JavaScriptBridge_method_create_callback:
.. rst-class:: classref-method
:ref:`JavaScriptObject<class_JavaScriptObject>` **create_callback** **(** :ref:`Callable<class_Callable>` callable **)**
创建一个对可被 JavaScript 用作回调的 :ref:`Callable<class_Callable>` 的引用。该引用必须一直保留到回调发生,否则根本不会被调用。有关用法,请参阅 :ref:`JavaScriptObject<class_JavaScriptObject>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_JavaScriptBridge_method_create_object:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **create_object** **(** :ref:`String<class_String>` object, ... **)** |vararg|
使用 ``new`` 构造函数创建一个新的 JavaScript 对象。\ ``object`` 必须是 JavaScript ``window`` 的有效属性。有关用法,请参阅 :ref:`JavaScriptObject<class_JavaScriptObject>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_JavaScriptBridge_method_download_buffer:
.. rst-class:: classref-method
void **download_buffer** **(** :ref:`PackedByteArray<class_PackedByteArray>` buffer, :ref:`String<class_String>` name, :ref:`String<class_String>` mime="application/octet-stream" **)**
提示用户下载一个包含指定 ``buffer`` 的文件。该文件将具有给定的 ``name````mime`` 类型。
\ **注意:**\ 浏览器可能会覆盖根据文件 ``name`` 的扩展名提供的 `MIME 类型 <https://en.wikipedia.org/wiki/Media_type>`__\ 。
\ **注意:**\ 如果 :ref:`download_buffer<class_JavaScriptBridge_method_download_buffer>` 不是从用户交互(例如按钮点击)中调用的,浏览器可能会阻止下载。
\ **注意:**\ 如果快速连续发出多个下载请求,浏览器可能会要求用户同意或阻止下载。
.. rst-class:: classref-item-separator
----
.. _class_JavaScriptBridge_method_eval:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **eval** **(** :ref:`String<class_String>` code, :ref:`bool<class_bool>` use_global_execution_context=false **)**
在浏览器窗口中将字符串 ``code`` 作为 JavaScript 代码执行。这是对实际的全局 JavaScript 函数 ``eval()`` 的调用。
如果 ``use_global_execution_context````true``\ ,则代码将在全局执行上下文中被求值。否则,它将在引擎运行时环境中的函数的执行上下文中进行求值。
.. rst-class:: classref-item-separator
----
.. _class_JavaScriptBridge_method_force_fs_sync:
.. rst-class:: classref-method
void **force_fs_sync** **(** **)**
强制同步持久化文件系统(当启用时)。
\ **注意:**\ 这仅对不能使用 :ref:`FileAccess<class_FileAccess>` 写入文件的模块或扩展有用。
.. rst-class:: classref-item-separator
----
.. _class_JavaScriptBridge_method_get_interface:
.. rst-class:: classref-method
:ref:`JavaScriptObject<class_JavaScriptObject>` **get_interface** **(** :ref:`String<class_String>` interface **)**
返回一个可以被脚本使用的 JavaScript 对象的接口。\ ``interface`` 必须是 JavaScript ``window`` 的有效属性。回调必须接受单个 :ref:`Array<class_Array>` 参数,它将包含 JavaScript ``arguments``\ 。有关用法,请参阅 :ref:`JavaScriptObject<class_JavaScriptObject>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_JavaScriptBridge_method_pwa_needs_update:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **pwa_needs_update** **(** **)** |const|
如果该渐进式网络应用程序有新版本等待激活,则返回 ``true``\ 。
\ **注意:**\ 只在导出为渐进式网络应用程序Progressive Web App时相关。
.. rst-class:: classref-item-separator
----
.. _class_JavaScriptBridge_method_pwa_update:
.. rst-class:: classref-method
:ref:`Error<enum_@GlobalScope_Error>` **pwa_update** **(** **)**
执行该渐进式网络应用程序的在线更新。强制安装新版本并重新载入该页面。
\ **注意:**\ 你的应用程序将\ **在所有浏览器标签页中重新载入**\ 。
\ **注意:**\ 只在导出为渐进式网络应用程序Progressive Web App且 :ref:`pwa_needs_update<class_JavaScriptBridge_method_pwa_needs_update>` 返回 ``true`` 时相关。
.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)`
.. |const| replace:: :abbr:`const (本方法没有副作用。不会修改该实例的任何成员变量。)`
.. |vararg| replace:: :abbr:`vararg (本方法除了在此处描述的参数外,还能够继续接受任意数量的参数。)`
.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)`
.. |static| replace:: :abbr:`static (调用本方法无需实例,所以可以直接使用类名调用。)`
.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效操作符。)`
.. |bitfield| replace:: :abbr:`BitField (这个值是由下列标志构成的位掩码整数。)`