【发布时间】:2014-03-17 01:54:03
【问题描述】:
在过去的几个月里,我们的网络应用中出现了这个错误:
Uncaught TypeError: Cannot read property 'tagName' of null
首先我注意到它只发生在 4.0.X 的安卓手机上,没有其他操作系统或版本。
为了调试这个问题,我首先删除了代码和标记,试图找出罪魁祸首。
我这样做了,直到我完全清空了所有文件并且问题仍然存在。
唯一的线索是之前的控制台行:
Reader :: Recognize :: INFO - Script is evaluating. recognizeArticle Start
有人知道为什么会这样吗?
问题是我们会收到有关错误的通知,我们不能忽略这一点,因为它每次都发生在随机的行和页面上。
我可以补充一点,这发生在我们所有的网络应用程序上。
澄清一下,这不是我们的网络应用程序的问题,问题在于 android。
我已经删除了我们所有的代码和标记,问题仍然存在,android 正在做一些导致这个错误的事情。
我测试过的手机是 Galaxy S3。
因为当我说来源是空的时人们似乎不相信我:
(develop✗) $ curl -v localhost:3000/us/app
* About to connect() to localhost port 3000 (#0)
* Trying 127.0.0.1...
* connected
* Connected to localhost (127.0.0.1) port 3000 (#0)
> GET /us/app HTTP/1.1
> User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
> Host: localhost:3000
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< X-UA-Compatible: IE=Edge
< Cache-Control: no-cache
< X-Request-Id: c7d96d6898017b5efa7659028008a8b8
< X-Runtime: 0.011019
< Vary: Accept-Encoding
< Content-Length: 0
< Connection: keep-alive
< Server: thin 1.3.1 codename Triple Espresso
<
* Connection #0 to host localhost left intact
* Closing connection #0
【问题讨论】:
-
您在(您的?)代码中的什么位置尝试访问某些对象的属性“tagName”?在此尝试时,对象本身为空 - 即之前获取对象的尝试实际上失败了,但未选中。您应该寻找像
... someObj.tagName ...或... someObj["tagName"] ...之类的代码 -
我知道错误是什么意思...正如我所说,当我清空 DOM 的所有内容(我的意思是所有内容)时,错误仍然会发生。
-
除非您显示有问题的代码,否则没有人能真正帮助您调试代码。
-
你有没有读过这个问题,没有代码,我已经把它全部删除了。问题不在于我们的代码。
-
我在 ASP.Net 页面(Samsung Galaxy S3)上遇到同样的错误,但行号(总是相同的数字!):“未捕获的 TypeError:无法读取属性 'tagName' of null在第 279 行"。该错误发生在我自己的所有脚本之后。
标签: javascript android