启动选项
这个 startup 组件负责创建mathjax所需的对象来执行页面的数学排版,并设置为此可能需要调用的方法。它使用 startup
在配置对象中阻止。
配置块
在下面的例子中, Startup
代表 MathJax.startup
对象,为了简洁。
MathJax = {
startup: {
elements: null, // The elements to typeset (default is document body)
typeset: true, // Perform initial typeset?
ready: Startup.defaultReady.bind(Startup), // Called when components are loaded
pageReady: Startup.defaultPageReady.bind(Startup), // Called when MathJax and page are ready
document: document, // The document (or fragment or string) to work in
invalidOption: 'warn', // Are invalid options fatal or produce an error?
optionError: OPTIONS.optionError, // Function used to report invalid options
input: [], // The names of the input jax to use from among those loaded
output: null, // The name for the output jax to use from among those loaded
handler: null, // The name of the handler to register from among those loaded
adaptor: null // The name for the DOM adaptor to use from among those loaded
}
};
选项说明
- elements: null
这也不是
null
或者一个dom元素数组,其内容应该是排版的。元素可以是实际的dom元素,也可以是为要排版的元素提供css选择器的字符串。
- typeset: true
这决定了当页面准备好时是否应该执行初始排版操作。
- ready: MathJax.startup.defaultReady.bind(Startup)
这是在mathjax加载并准备就绪时调用的函数。它是由 加载器 当所有组件都加载时。默认操作是创建mathjax所需的所有对象,并设置对
pageReady()
功能如下。如果要修改设置过程,可以重写此函数;请参见 在启动期间执行操作 更多细节。请注意,此函数可能在页面完成之前调用,因此除非修改由 startup 模块,更换pageReady()
也许是更好的选择。
- pageReady: MathJax.startup.defaultPageReady.bind(Startup)
这是一个函数,当MathJax准备就绪并可以处理页面时,将调用该函数。默认操作是执行页面的初始排版并返回解析完成内容的promise,但是您可以重写它以执行您想要的任何操作,尽管您不允许从
MathJax.startup.defaultPageReady()
函数。看到了吗 在启动期间执行操作 有关如何执行此操作的详细信息和示例。
- document: document
这是要处理的文档(或序列化html的片段或字符串)。默认情况下(在浏览器中使用),它是浏览器文档。当没有全局
document
变量,它是一个空的HTML文档。
- invalidOption: 'warn' // or 'fatal'
这将确定无效选项是否会导致致命错误(当设置为
'fatal'
)停止MathJax运行,或发出警告(设置为'warn'
),这使得MathJax得以继续。在3.2版之前,无效选项是致命的,但此选项现在允许控制该行为。
- optionError: OPTIONS.optionError
此选项提供一个函数,每当用户提供无效选项时都会调用该函数。它接受两个字符串参数,第一个是消息,第二个是无效选项的名称。默认函数查看
invalidOption
值,如果是'fatal'
它使用给定的消息抛出一个错误,否则它会将该消息记录到浏览器控制台,从而允许进一步处理选项。
- input: []
这是要使用的输入处理器的名称数组,来自已加载的处理器。因此,如果您已经为多个输入jax加载了代码,但是只想使用
tex
例如,input jax将其设置为['tex']
. 如果设置为空数组,则使用所有加载的输入jax。
- output: null
这是要从已加载的输出处理器中使用的输出处理器的名称。因此,如果您已经为多个输出jax加载了代码,但是只想使用
svg
例如,output jax将其设置为'svg'
. 如果设置为null
或者空字符串,则将使用加载的第一个输出jax。
- handler: null
这是要从已加载的文档处理程序中使用的文档处理程序的名称。目前,只有一个处理程序,html处理程序,所以除非您创建自己的处理程序,否则将其保留为
null
.
- adaptor: null
这是要使用的dom适配器的名称,来自已加载的适配器。默认情况下,组件加载
browser
适配器,但您可以加载liteDOM
用于 node 应用程序;如果您这样做,它将设置此值以便自动使用。