sun博客

记录点滴!

在下载问财到本地时,页面下载了,但里面的链接却怎么也点不了。不知道是啥原因。搞了一天,发现是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,所以不能使用。

发表评论

邮箱地址不会被公开。 必填项已用*标注