javascript - IE JS 类型错误 : Object does not support this property or method

标签 javascript internet-explorer internet-explorer-8

我正在尝试编写一个 cookie 来跟踪访问者的新近度,但我在使用 IE8 时遇到了困难。我的日志向 IE 用户显示的错误信息不那么丰富:TypeError:对象不支持此属性或方法。

知道我需要在下面的代码中修改什么才能使其与 IE 兼容吗?

var currentDate = Date.now();
var cookies = document.cookie.match(/jcom\=.+\}/);

if (cookies == null) {
var cookieBase = '{"created":"createdNull","lastVisit":"visitNull"}';
var siteTime = $.parseJSON(cookieBase);
siteTime.created = currentDate;
siteTime.lastVisit = currentDate;
cookieOut = "{\"created\":" + siteTime.created + ",\"lastVisit\":" + siteTime.lastVisit + "};expires=Thu, 2 Aug 2020 20:47:11 UTC;path=/";
document.cookie="jcom=" + cookieOut;
}
else {
var cookies = document.cookie.match(/jcom\=.+\}/)[0];
var cookieSplit1 = cookies.split('=')[1];
var cookieSplit= cookieSplit1.split(';')[0]
var siteTime = $.parseJSON(cookieSplit);
siteTime.lastVisit = currentDate;
cookieOut = "{\"created\":" + siteTime.created + ",\"lastVisit\":"+ siteTime.lastVisit + "};expires=Thu, 2 Aug 2020 20:47:11 UTC;path=/";
document.cookie="jcom=" + cookieOut;
}

谢谢!

最佳答案

Internet Explorer 8 不支持 Date.now()。您可以非常轻松地自己实现:

if( !Date.now) {
    Date.now = function() {return new Date.getTime();};
}

关于javascript - IE JS 类型错误 : Object does not support this property or method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12809044/

相关文章:

javascript - 如何将动态数据放入数组并将其附加到 dom vue.js

css - IE9 css 媒体查询无法正常工作......在其他任何地方都可以正常工作

css - 我想让一个 div 包含默认操作(在这种情况下按 <Enter> )而不是必须创建一个按钮

javascript - 如何从第三方api保存json对象

javascript - 获取行中的所有值

html - 实现 'sticky footer' 时浏览器之间的行为不一致

html - 无法在 IE 中将 anchor 标记设置为 [已禁用]

javascript - clientHeight/clientWidth 在不同的浏览器上返回不同的值

css - 禁用 IE8 图标周围的蓝色边框

javascript - 如何重新计算滚动窗口的大小?