首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在chrome扩展中未加载指纹打印

在chrome扩展中未加载指纹打印
EN

Stack Overflow用户
提问于 2020-10-30 21:03:59
回答 1查看 313关注 0票数 1

我试图在我的chrome扩展中加载fingerprintjs,但是由于某种原因它没有加载。文档说要使用这种方法,它在独立的网站上工作得很好,但在chrome扩展中就不行了。

代码语言:javascript
复制
<script>
    function initFingerprintJS() {
      FingerprintJS.load().then(fp => {
        // The FingerprintJS agent is ready.
        // Get a visitor identifier when you'd like to.
        fp.get().then(result => {
          // This is the visitor identifier:
          const visitorId = result.visitorId;
          console.log("visitorId", visitorId);
        });
      });
    }
  </script>
  <script async src="fp.min.js" onload="initFingerprintJS();"></script>

对于chrome扩展,我添加了一个包含初始化代码的JS文件initFingerprint.js,如下所示:

代码语言:javascript
复制
var visitorId = null; //will hold the actual fingerprint
function initFingerprintJS() {
    console.log("inside initFingerprintJS");
    FingerprintJS.load().then(fp => {
        console.log("loaded initFingerprintJS");
        fp.get().then(result => {
            console.log("initFingerprintJS got result", result)
            visitorId = result.visitorId; // This is the visitor identifier
            console.log("visitorId", visitorId);
        });
    });
}
initFingerprintJS();

在background.html中,我添加了以下内容:

代码语言:javascript
复制
<script async src="fp.min.js"></script>
<script async src="initFingerprint.js"></script>

我试过在那里使用async,但没有在那里,但仍然没有成功。将打印此行,但不打印它下面的任何其他行。

代码语言:javascript
复制
inside initFingerprintJS

我做错了什么?我很感谢你的帮助。谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-10-30 21:09:57

从html中删除fp.min.js<script>标记,并在initFingerprint.js中自己创建脚本元素,以便可以直接使用onload事件:

代码语言:javascript
复制
loadScript('fp.min.js').then(initFingerprintJS);

function loadScript(url) {
  return new Promise((resolve, reject) => {
    const el = document.createElement('script');
    el.onload = resolve;
    el.onerror = reject;
    el.src = url;
    document.documentElement.appendChild(el);
  });
}

async function initFingerprintJS() {
  visitorId = await (await FingerprintJS.load()).get();
  console.log('visitorId', visitorId);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64608891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档