Javascript 创建web小部件时,我应该使用容器div上的数据属性,还是应该向脚本添加参数?

Javascript 创建web小部件时,我应该使用容器div上的数据属性,还是应该向脚本添加参数?,javascript,jquery,html,dom,requirejs,Javascript,Jquery,Html,Dom,Requirejs,我正在创建一个web小部件。因此,基本上我从远程服务器加载脚本,并在容器div中显示内容。我需要向服务器发送额外的参数,例如过滤一些内容或选择显示,因此我有两个选项 在script标记中传递数据(我在代码中自动生成脚本) 将数据作为 由于这个原因,我现在选择了第一种方法:如果我在请求脚本中包含数据,我不必等待DOM准备好获取过滤事件的值。 我正在加载的脚本只是一个异步加载requirejs的小脚本。 一旦加载完成,就需要js调用ajax来获取数据(无需等待DOM准备就绪,因为我已经拥有了

我正在创建一个web小部件。因此,基本上我从远程服务器加载脚本,并在容器div中显示内容。我需要向服务器发送额外的参数,例如过滤一些内容或选择显示,因此我有两个选项

在script标记中传递数据(我在代码中自动生成脚本)


将数据作为


由于这个原因,我现在选择了第一种方法:如果我在请求脚本中包含数据,我不必等待DOM准备好获取过滤事件的
值。 我正在加载的脚本只是一个异步加载requirejs的小脚本。 一旦加载完成,就需要js调用ajax来获取数据(无需等待DOM准备就绪,因为我已经拥有了所需的所有信息),当数据到达时,如果DOM准备就绪,它将启动Attaching事件处理程序。否则,在调用获取数据之前,我必须等待DOM准备就绪

我的想法是如果我包括

<script src="http://localhost/wordpress/?ai1ec_requirejs_widget&ai1ec=action:posterboard|no_navigation:true|request_type:jsonp"></script>

作为第一个脚本,它将开始下载require.js async,然后以更快的速度启动一切,但可能我完全错了

您认为呢?

除了您提到的问题之外:

我会在脚本标记中传递数据,因为这样您就有了一个配置小部件的单点。具有多个配置点可能会发生冲突或造成混乱

此外,似乎脚本关心的是所有过滤,而不是
div
(因为这是一个视图元素),因此从这个角度来看,让脚本处理所有这些信息也更有意义。这样,您还可以最大限度地减少通过导线传输的数据量。既然可以在服务器端进行过滤,为什么还要加载所有信息,然后在客户端进行过滤呢

编辑


我误解了你的想法!老实说,我认为这两种方法都可以。但是,您可以通过向
div
添加信息来最小化您编写的Javascript的数量,我认为这些信息是正确的,因为它在语义上是合适的。它还将为任何正在阅读代码的人提供更多的上下文。

好吧,我不会加载信息来过滤它们,我会从div中获取参数,然后进行调用。但是要从div中获取参数,我需要DOM准备就绪
<script src="http://localhost/wordpress/?ai1ec_requirejs_widget&ai1ec=action:posterboard|no_navigation:true|request_type:jsonp"></script>
<div id="timely" data-action="view" data-no-navigation="true" data-request-type="jsonp" ></div>
<script src="http://localhost/wordpress/?ai1ec_requirejs_widget&ai1ec=action:posterboard|no_navigation:true|request_type:jsonp"></script>