我如何改变与谷歌Chrome扩展登录后的UI
How do I change the UI after a login with Google Chrome Extensions?
好的,所以我正在构建一个扩展在谷歌浏览器,我有它,当我的扩展的图标被点击一个登录表单弹出(default_popup)。当他们填写这个表单时,它向我的服务器发送一个ajax请求,进行身份验证,然后发送回我的令牌。
一切顺利。
现在,我如何改变弹出显示其他东西,现在它是经过验证的?
我怀疑这是一个非常简单的问题,但我已经找了几个小时的解决方案,我没有找到一个。
编辑:下面是我目前所做的:
$(document).on('submit','#login',function(e){
e.preventDefault();
var email = $('#email'),
password = $('#password');
$.ajax({
url: 'https://myurl.com/api/request?email='+email+'&password='+password,
crossDomain: true,
cache: false,
async: false,
dataType: 'json',
success: function(output) {
if (output.status == true) {
api_key = output.results.api_key;
api_secret = output.results.api_secret;
localStorage.setItem('api_key',output.results.api_key);
localStorage.setItem('api_secret',output.results.api_secret);
}
}); });
我想在登录完成后将输出呈现为其他一些内容。有干净利落的方法吗?通常我会使用handlebarsjs,但很明显,如果没有沙箱,扩展不支持它。
就像用JavaScript隐藏和显示元素一样简单。默认情况下隐藏#logged-in
div。一旦认证完成,隐藏#login-form
,显示#logged-in
。假设您将在他们登录后存储某种令牌,您可以将其存储在localStorage中,并在每次加载pop .html时检查它。如果有,则显示#logged-in
,如果没有,则显示#login-form
。
<html>
<body>
<div id="login-form">
<!-- All your login form content -->
</div>
<div id="logged-in">
<!-- All your content once authenticated-->
</div>
</body>
</html>
相关文章:
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- chrome扩展更改主机/域警告
- 如何在chrome扩展中重定向到html页面
- Chrome扩展没有't在重新加载之前考虑期权价值
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 试图阻止Chrome通过扩展关闭
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 从选项页面更新chrome扩展清单权限
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- Chrome扩展:遍历不同的页面并收集数据
- Chrome扩展 chrome.storage 如何同时进行大量获取和设置并避免竞争条件
- Chrome扩展:Chrome.tabs.executeScript不工作
- 中的访问扩展chrome://extensions页
- 如何在扩展Chrome DevTool时检索请求的启动器
- Chrome扩展-Chrome报警API为创建的每个新报警重新安排所有报警
- 是否有任何方法来扩展chrome's __commandLineAPI
- 谷歌Chrome扩展Chrome .tab . onupdate . addlistener
- 创建在页面上注入脚本的扩展chrome内容
- Chrome扩展:Chrome扩展中未定义的变量,即使它存在于控制台中