在下载问财到本地时,页面下载了,但里面的链接却怎么也点不了。不知道是啥原因。搞了一天,发现是Vue没有加载。如下:
在任何属于vue的网站中输入以下代码,比如问财中,打开开发者选项,切换至控制台,输入以下代码就可以找到了。恰当使用控制台,console.log(某个变量)即可看到某个具体的值
//找到此页面中哪些元素是vue挂载点元素
function findVueMountElement() {
const allElements = document.getElementsByTagName('*');
for (let i = 0; i < allElements.length; i++) {
const element = allElements[i];
if (element.__vue__) {
console.log(element.__vue__)
//return element; // 返回挂载点元素
}
}
return null;
}
const mountElement = findVueMountElement();
if (mountElement) {
console.log('Vue 挂载点元素:', mountElement);
console.log('Vue 挂载点的 el 值:', mountElement.__vue__.$el);
} else {
console.log('未找到 Vue 挂载点');
}
//找到哪个vue元素有某个属性或方法,找到后可用于直接调用此方法
//findVueInstanceFieldPath("addWaterMark")
function findVueInstanceFieldPath(key) {
const elements = document.getElementsByTagName('*');
for (let i = 0; i < elements.length; i++) {
const element = elements[i];
if (element.__vue__) {
//console.log(element.__vue__)//太多了
if (Object.prototype.hasOwnProperty.call(element.__vue__, key)) {
console.log(element.__vue__)
}
//return element.__vue__;
}
}
return null;
}
document.getElementsByClassName("recommend-conatiner")[0].__vue__.clickQuery({query:"服务于英伟达的公司有哪些",title:"选股票",type:"xuangu"})

把网站下载后在本地调用,再次控制台中执行以上代码,结果却没有,可见下载下来的页面, 如果 Vue 应用未正确初始化,__vue__ 属性可能不会被添加到 DOM 元素上。 根本没有vue的实例,而点击事件是要依靠vue,所以不能使用。
