我一直在尝试使用React创建一个简单的Chrome扩展程序。清单看起来像这样:
{
"name": "New Tab",
"version": "1.0",
"manifest_version": 2,
"description": "A minimalist replacement for Chrome's New Tab page.",
"chrome_url_overrides": {
"newtab": "index.html"
},
"permissions": ["tabs", "topSites"]
}
我不确定如何在React中实际使用Chrome topSites API。我一直在查看文档https://developer.chrome.com/extensions/topSites,但并没有提供太多的见解。我试图做这样的事情来获取数据数组。
chrome.topSites.get(console.log)
但是
'chrome' is not defined no-undef
答案 0 :(得分:4)
您可以通过在文件顶部添加/*global chrome*/
来定义chrome。
例如
/*global chrome*/
import React, { Component } from 'react';
import './App.css';
class App extends Component {
componentWillMount() {
chrome.storage.local.set({ 'data' : 'Your data'}, function(result) {
console.log(" Data saved ")
});
}
render() {
return (
<div className="App">
</div>
);
}
}
export default App;
答案 1 :(得分:1)
您需要禁用ESLint规则no-undef
,然后再次启用它:
/* eslint-disable no-undef */
function callback(val) {
console.log(val)
}
chrome.topSites.get(callback);
/* eslint-enable no-undef */