浏览器的一些常用全局对象,我们是无法使用copy命令将其copy的,甚至就算用 JSON.stringify 也无法字符串化
脚本代码
let getObjectValue = function (obj) {
let newObj = new Object();
for (let key in obj) {
if (obj[key] == null) {
newObj[key] = null;
continue;
}
if (typeof obj[key] == "string" || typeof obj[key] == "number" || typeof obj[key] == "boolean") {
newObj[key] = obj[key];
} else if (typeof obj[key] == "function") {
newObj[key] = "function";
} else if (Array.isArray(obj[key])) {
newObj[key] = obj[key];
}
}
return newObj;
}
let newObj = getObjectValue(window);
copy(newObj)
在文本编辑器里粘贴
需要将 window 定义放在前面即可
var window = 粘贴的内容
因为function无法定义,因此我统一改写成了"function () {}",所以你只需要写个置空函数再替换即可
如果你还想复制其他对象的环境,可以将这段代码里的window进行替换。
let newObj = getObjectValue(window);
常见的对象有 document,navigator,location,history,screen等。