Tag: JavaScript

在基于浏览器的应用程序中如何保存JWT以及如何使用它

我正在尝试在我的身份validation系统中实现JWT,并且我有几个问题。 要存储令牌,我可以使用cookie,但也可以使用localStorage或sessionStorage 。 哪个会是最好的select? 我读过JWT保护CSRF的网站。 但是,我无法想象如何将这个工作假设我保存在Cookie存储的JWT令牌。 那么它将如何保护CSRF? 更新1 我看到一些使用示例如下所示: curl -v -X POST -H "Authorization: Basic VE01enNFem9FZG9NRERjVEJjbXRBcWJGdTBFYTpYUU9URExINlBBOHJvUHJfSktrTHhUSTNseGNh" 当我从浏览器向服务器发出请求时,我该如何实现? 我也看到一些在URL中实现令牌: http://exmple.com?jwt=token 如果我通过AJAX发出请求,那么我可以设置一个jwt: [token] ,然后我可以从头中读取令牌。 更新2 我安装了高级REST客户端谷歌浏览器扩展,并能够将令牌作为自定义标题。 在向服务器发出GET请求时,是否可以通过Javascript设置这个标题数据?

从Python执行Javascript

我有我使用xpath爬行的HTML网页。 某个节点的etree.tostring给了我这个string: <script> <!– function escramble_758(){ var a,b,c a='+1 ' b='84-' a+='425-' b+='7450' c='9' document.write(a+c+b) } escramble_758() //–> </script> 我只需要escramble_758()的输出。 我可以写一个正则expression式来弄清楚整个事情,但是我希望我的代码保持整洁。 什么是最好的select? 我通过下面的库压缩,但我没有看到一个确切的解决scheme。 他们中的大多数都在试图模拟浏览器,使得事情变得缓慢。 http://code.google.com/p/python-spidermonkey/ (清楚地说, it's not yet possible to call a function defined in Javascript ) http://code.google.com/p/webscraping/ (没有看到任何的Javascript,我可能是错的) http://pypi.python.org/pypi/selenium (仿真浏览器) 编辑: 一个例子将是伟大的..(准系统会做)

Bootstrap v2下拉导航无法在移动浏览器上使用

我在移动设备上的Bootstrap菜单下拉(Bootstrap 2)有问题。 在这里用下拉button问了一个类似的问题,但是这个答案是bootstrap中的一个固有的bug,在更新中解决了。 我似乎有同样的问题,所以也许这是我的标记? 我有一个可折叠的下拉菜单导航栏,一切工作完美的桌面浏览器。 但是,在移动设备上,当您点击下拉菜单时,下拉菜单会打开,但点击任何下拉菜单链接都会将下拉菜单再次折叠 – 链接无法到达。 我试过各种引导版本,不能纠正这个,所以我只能想象它是我的标记。 这里是: <header class="navbar"> <div class="navbar-inner"> <div class="container"> <a href="#"><h1>Branding</h1></a> <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> Menu </button> <div class="nav-collapse collapse"> <ul class="nav"> <li><a href="#">Menu Item 1</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Menu Item 2 (Dropdown)<b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">Dropdown Item 1</a></li> <li><a href="#">Dropdown Item 2</a></li> […]

JavaScript在运行时如何表示闭包和范围

这大部分是出于好奇的问题。 考虑以下function var closure ; function f0() { var x = new BigObject() ; var y = 0 ; closure = function(){ return 7; } ; } function f1() { var x = BigObject() ; closure = (function(y) { return function(){return y++;} ; })(0) ; } function f2() { var x = BigObject() ; var […]

在React.js中更新onScroll组件的样式

我已经在React中构build了一个组件,它应该在窗口滚动中更新自己的样式以创build视差效果。 组件render方法如下所示: function() { let style = { transform: 'translateY(0px)' }; window.addEventListener('scroll', (event) => { let scrollTop = event.srcElement.body.scrollTop, itemTranslate = Math.min(0, scrollTop/3 – 60); style.transform = 'translateY(' + itemTranslate + 'px)'); }); return ( <div style={style}></div> ); } 这是行不通的,因为React不知道组件已经改变,因此组件不会被重新渲染。 我试着在组件的状态中存储itemTranslate的值,并在滚动callback中调用setState ,但是,这使得滚动不可用,因为这是非常缓慢的。 任何build议如何做到这一点? 谢谢。

window.focus()不能在Google Chrome中使用

只是想知道Google Chrome是否会在某个时候支持window.focus() 。 当我的意思是支持,我的意思是说它的工作。 对它的呼吁并不失败,它只是没有做任何事情。 所有其他主stream浏览器都没有这个问题:FireFox,IE6-IE8和Safari。 我有一个用于pipe理浏览器窗口的客户端类。 当我第一次创build一个窗口时,窗口变得焦点了,但随后尝试将焦点移到窗口上不起作用。 据我所知,这似乎是一个安全function,以避免恼人的popup窗口,它似乎不是一个WebKit问题,因为它在Safari中的作品。 我知道有人提出的一个想法是closures窗口,然后重新打开它,但这是一个可怕的解决scheme。 谷歌search表明,我似乎并不是唯一受挫的人。 为了100%清楚,我的意思是新的窗口,而不是标签(选项卡不能从我所读的焦点),所有打开的窗口都在同一个域。 除了上面提到的那个不好的想法之外,还有什么想法和解决办法? Chromium项目上有一个buglogging在这里 。 感谢您发布Rich 。 MyCompany = { UI: {} }; // Put this here if you want to test the code. I create these namespaces elsewhere in code. MyCompany.UI.Window = new function() { // Private fields var that = this; var windowHandles […]

在Angular中处理Accordion的打开/折叠事件

如果我有这个代码: <accordion-group heading="{{group.title}}" ng-repeat="group in groups"> {{group.content}} </accordion-group> 使用AngularJS,angular-ui和Twitter Bootstrap,可以在打开时让手风琴调用一些动作吗? 我知道我不能简单地添加ng-click ,因为在“编译”为HTML来打开/折叠组之后已经使用了。

有没有办法将CoffeeScript发送到客户端的浏览器,并将其编译为JavaScript *?

有没有办法将CoffeeScript发送到客户端的浏览器,并将其编译为JavaScript? <script type="text/coffeescript"> square = (x) -> x * x list = [1, 2, 3, 4, 5] squares = (square num for num in list) </script> CoffeeScript编译器是用JavaScript编写的,那么我可以把它发送给客户端来在客户端浏览器中编译/运行这个代码吗?

元素数组中的jQuery min / max属性

有没有一种简单的方法来从jQuery中的元素数组中find最小/最大属性? 我总是发现自己dynamic地调整基于最小和最大对应的元素组。 大多数情况下,这与元素的宽度和/或高度有关,但我确定这可以应用于元素的任何属性。 我通常做这样的事情: var maxWidth = 0; $('img').each(function(index){ if ($(this).width() > maxWidth) { maxWidth = $(this).width(); } }); 但似乎你应该能够做到这样的事情: var maxWidth = $('img').max('width'); 这个function是否存在于jQuery中,或者有人可以解释如何创build一个基本的插件来做到这一点? 谢谢!

Javascript:document.execCommand跨浏览器?

我偶然发现了一段我从未见过的代码: document.execCommand('Copy'); 这似乎将剪贴板内容复制到焦点的元素。 这个function是否可以跨浏览器使用? 我find了一个显示document.execCommand兼容性matrix的页面 。