javascript - .js 文件依赖包含 html 中声明的变量是一个好习惯吗?

标签 javascript

简而言之:

<script type="text/javascript">
    var root = '${config.root}';
    var userLanguage = '${config.language}';
    var userTimezone = '${config.timezone}';
</script>
<script type="text/javascript" src="js/scripts.js"></script>

然后,在 scripts.js 中,依赖这些变量:

if (userLanguage == 'en') { .. }

${..} 只是生成页面的脚本中的值的占位符。它可以是 php、jsp、asp 等等。要点是 - 它是动态的,因此它不能成为 .js 文件(静态)的一部分。

那么,静态javascript文件依赖这些外部定义的配置变量可以吗? (当然,它们主要是配置)。

还是最好让 .js 文件也动态提供(即,使其成为 .php/.jsp,并使用正确的 Content-Type) ,并在其中定义这些值。

最佳答案

您可以按照 jquery plugins 中使用的示例进行操作。它们以特定格式定义参数的默认值,用户可以重载这些默认值。因此,在我看来,允许用户以文档格式定义一些可供外部脚本使用的变量是可以的。

关于javascript - .js 文件依赖包含 html 中声明的变量是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4698912/

相关文章:

javascript - 给 Material ui卡添加缩略图

c# - 部分 View 不工作的 MVC3 Ajax 表单验证

javascript - 如何使用 Django REST Framework 保存嵌套的 Backbone 模型

javascript - jQuery 获取表单点击了哪个按钮?

javascript - 如何从数据库获取数据以便通过 JavaScript 创建动态元素?

javascript - 验证 gridview 中选定的下拉值并使用选定值填充标签

javascript - 当 Flask 数据库更改而不进行轮询时更新所有客户端的最佳方法是什么?

javascript - 是否可以在 Bootstrap 中做一个部分折叠的侧边栏

javascript - 在 IE 浏览器中,我的 Web 应用程序(在 HTTPS 上运行)未检测到带 HTTP 的网址

javascript - 在鼠标上使用 jQuery 从左到右背景位置输入幻灯片