未捕获的ReferenceError:未定义氮

时间:2016-07-21 05:47:53

标签: javascript jquery erlang yaws nitrogen

我在Yaws驱动的网站上运行一个氮网络框架。它在过去三年中一直在所有浏览器上正常运行。但最近的回复可能无法预料地无法在Google Chrome和Opera中做出回应。在未捕获的ReferenceError的控制台中出现错误:氮未定义。引用的错误行显示此

Nitrogen.$set_param('pageContext', 'j-oHyfcHcpNAZCWh7t6Y5EBqMbhta0E01Fl0jNMCOlr0YfeAEUGiprZ21Oqs1rDf6nutqrfw5LPfy9W1x8kk_k4-Z_adkaQy9Ijk66RY7hoi0kIbsf6RV34ZCJp8YXOu9SGNGe8tHLS-JbeiVzhzBIqfSUC5KXu1eLjVhzip_Z_dAxRWu3yzgG8pgCLvWqSIG8LbeG-C4kPZIrYQL9Y27cDdQHTLN1nbStbMekOw6Iviu-F19Jp5RW2ojIrkH2AscKqwIg');

我试图找出错误的原因,但是徒劳无功,让我感到困惑的是它刚刚开始而不是在每个浏览器上,而不是在每个计算终端上。

这就是我的模板的样子

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <title>[[[page:title()]]]</title>
   <script src='/nitrogen/jquery.js' type='text/javascript' charset='utf-8'></script>
   <script src='/nitrogen/jquery-ui.js' type='text/javascript' charset='utf-8'></script>
   <script src='/nitrogen/livevalidation.js' type='text/javascript' charset='utf-8'></script>
   <script src='/nitrogen/nitrogen.js' type='text/javascript' charset='utf-8'></script>
   <script src='/nitrogen/bert.js' type='text/javascript' charset='utf-8'></script>
   <link rel="stylesheet" href="/nitrogen/jquery-ui/jquery.ui.all.css" type="text/css" media="screen" charset="utf-8" />
   <link rel="stylesheet" href="/nitrogen/nitrogen.css" />  

   <!-- For google analytics -->
   <script>
    ...some google code here ....
   </script>     
</head>

<body ">
  [[[page:body()]]]
  <script>
    [[[script]]]
  </script>
</body>
</html>

请帮助。

2 个答案:

答案 0 :(得分:0)

首先,我怀疑它是否相关,但你真的在你的标签中有一个流浪的未封闭双引号(“),或者只是一个迷路的复制粘贴残余物。这是第一件让我感到高兴的事情。

其次,这个错误的原因有点难以捉摸,但是这里有一些线索你可以试图揭开这个谜团:

  • 错误“氮未定义”只能由以下几种原因之一引起:
    1. 根本没有加载nitrogen.js脚本(服务静态内容失败)。你可以在CTRL + SHIFT + I中检查网络选项卡,看看nitrogen.js的响应是什么
    2. 在zs控制台中显示的nitrogen.js脚本崩溃了,但你没有提到它,所以可能不是这样。
    3. 发生了一件名为Nitrogen=undefined
    4. 的事情

随着说:

  • 您是否可以自己重现此错误,还是继续使用用户报告?
  • 当回发失败时,是否在页面加载和其他事情发生后失败,或者他们是否在页面加载时立即失败?

对我来说这绝对是一个新错误 - 不是我遇到的问题除了,当某些东西导致静态内容无法首先加载时。

答案 1 :(得分:0)

使用氮气时遇到同样的问题,我将这些文件(jquery.js,jquery-ui.js ...模板html中提到的文件)复制到目录“./site/static/nitrogen “,问题已经解决了。 这些js文件可以在“./lib/nitrogen_core/www”中找到,如果在安装包中找不到它们,可以下载binares版本的氮气。