Tag: JavaScript

如何转义一个JSONstring在URL中?

使用Javascript,我想要生成一个页面的链接。 该页面的参数是在我用JSON序列化的Javascript数组中。 所以我想生成一个这样的URL: http://example.com/?data="MY_JSON_ARRAY_HERE" 我如何需要转义我的JSONstring(数组序列化),以包括它作为参数的URL? 如果有使用JQuery的解决scheme,我会喜欢它。 注意:是的,页面的参数需要在一个数组中,因为它们有很多。 我想我会用bit.ly来缩短链接。

我如何模拟一个在Angularjs Jasmineunit testing中返回承诺的服务?

我有我的服务,使用myOtherService,这使远程调用,返回承诺: angular.module('app.myService', ['app.myOtherService']) .factory('myService', [myOtherService, function(myOtherService) { function makeRemoteCall() { return myOtherService.makeRemoteCallReturningPromise(); } return { makeRemoteCall: makeRemoteCall }; } ]) 要为myService进行unit testing,我需要模拟myOtherService ,使其makeRemoteCallReturningPromise()方法返回一个promise。 这是我如何做到的: describe('Testing remote call returning promise', function() { var myService; var myOtherServiceMock = {}; beforeEach(module('app.myService')); // I have to inject mock when calling module(), // and module() should come before any inject() […]

Angularjs:'controller as syntax'和$ watch

当使用controller as语法时如何订阅属性更改? controller('TestCtrl', function ($scope) { this.name = 'Max'; this.changeName = function () { this.name = new Date(); } // not working $scope.$watch("name",function(value){ console.log(value) }); }); <div ng-controller="TestCtrl as test"> <input type="text" ng-model="test.name" /> <a ng-click="test.changeName()" href="#">Change Name</a> </div>

如何确定一个对象是否在JavaScript中有一个给定的属性

不pipexy的值如何确定一个对象x是否有一个定义的属性y ? 我目前正在使用 if (typeof(xy) !== 'undefined') 但这似乎有点笨重。 有没有更好的办法?

通过Django将Python数据传递给JavaScript

我使用Django和Apache来提供网页。 我的JavaScript代码当前包含一个数据对象,其值将根据用户从选项菜单中的select,显示在各种HTML小部件中。 我想从Python字典中派生这些数据。 我想我知道如何在HTML中embeddedJavaScript代码,但是如何将数据对象embedded到该脚本中(即时),以便脚本的function可以使用它? 换一种说法,我想从Python字典创build一个JavaScript对象或数组,然后将该对象插入到JavaScript代码中,然后将该JavaScript代码插入到HTML中。 我想这个结构(例如embedded在JavaScript代码中的variables中的数据)是次优的,但作为新手我不知道替代scheme。 我已经看过Django序列化函数的书写,但是直到我可以将数据放入我的JavaScript代码中,这些function并没有帮助。 我还没有使用像jQuery这样的JavaScript库。

JavaScript将长页面滚动到DIV

我有一个长的HTML页面上的链接。 当我点击它时,我希望页面的另一部分的div通过滚动查看在窗口中可见。 有点像其他语言的EnsureVisible 。 我检查了scrollTop和scrollTo但他们看起来像红鲱鱼。 谁能帮忙?

如何在使用babel和webpack时生成源映射?

我是新来的webpack,我需要一手设置生成源代码。 我webpack serve运行webpack serve ,编译成功。 但我真的需要源代码。 这是我的webpack.config.js 。 var webpack = require('webpack'); module.exports = { output: { filename: 'main.js', publicPath: '/assets/' }, cache: true, debug: true, devtool: true, entry: [ 'webpack/hot/only-dev-server', './src/components/main.js' ], stats: { colors: true, reasons: true }, resolve: { extensions: ['', '.js', '.jsx'], alias: { 'styles': __dirname + '/src/styles', 'mixins': __dirname + […]

document.ontouchmove和滚动iOS 5上

iOS 5为JavaScript / Web Apps带来了许多好玩的东西。 其中之一是改进的滚动。 如果你添加 -webkit-overflow-scroll:touch; 以textarea元素的风格,滚动将用一根手指很好地工作。 但是有一个问题。 为了防止整个屏幕滚动,build议networking应用程序添加下面这行代码: document.ontouchmove = function(e) {e.preventDefault()}; 但是,这会禁用新的滚动。 有没有人有一个很好的方式来允许新的滚动在一个textarea,但不允许整个窗体滚动?

console.log的正确包装与正确的行号?

我现在正在开发一个应用程序,并放置一个全球性的isDebug开关。 我想包装console.log更方便的用法。 //isDebug controls the entire site. var isDebug = true; //debug.js function debug(msg, level){ var Global = this; if(!(Global.isDebug && Global.console && Global.console.log)){ return; } level = level||'info'; Global.console.log(level + ': '+ msg); } //main.js debug('Here is a msg.'); 然后我在Firefox控制台中得到这个结果。 info: Here is a msg. debug.js (line 8) 如果我想loggingdebug()被调用的行号,如info: Here is a msg. main.js […]

不可变的意思是什么?

如果一个string是不可变的,那么这是否意味着….(让我们假设JavaScript) var str = 'foo'; alert(str.substr(1)); // oo alert(str); // foo 这是否意味着,当调用一个string的方法时,它会返回修改的string,但它不会改变初始string? 如果string是可变的,这是否意味着第二个alert()将返回oo ?