所以我已经有一个页面绘制一个有力的图,就像这里展示的那样 。 这工作正常。 我从这里使用JS,只需稍作调整即可将节点稍微分散一些。 这些或多或less是唯一的区别: d3.json("force.json", function(json) { var force = d3.layout.force() .gravity(0.1) .charge(-2000) .linkDistance(1) .linkStrength(0.1) .nodes(json.nodes) .links(json.links) .size([w, h]) .start(); 在减less链接强度的地方似乎使得链接更像是弹簧,所以它变得类似于经常使用的Fruchterman&Reingold技术。 这工作相当好,但只适用于相当小的图表。 随着更大的图表,交叉口的数量正在上升 – 正如人们所期望的那样,但是它所处的解决scheme通常远不是最佳的。 我不想找一个方法来获得最佳的解决scheme,我知道这是非常困难的。 我只是希望它有一些粗加法,试图强制拆分线以及节点。 有没有办法在链接之间以及节点之间添加斥力? 我不熟悉D3强制的方式,我似乎无法find任何说这是可能的…
AngularJS非常新,我猜测我所要做的是延迟加载。 我看了几个不同的博客,我还没有find一个纯粹使用AngularJS的完整工作解决scheme。 我知道,如果我把<script src="js/process1.js"></script>放在index.html中,一切正常,我试图减lessjs的数量,加载。 在脚本标签坐在部分,它永远不会被加载,所以P1Ctrl永远不会被创build。 因此,目前,如果用户进入应用程序并且永远不会进入process55,那么即使用户从未使用过,用户仍然拥有用于process55的代码。 有没有一种方法来加载文件,并将process1.js中创build的对象插入到main中定义的应用程序中,在执行process1时? index.html的: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Large Angular App</title> <link rel="stylesheet" href="lib/foundation/css/foundation.min.css" /> </head> <body ng-app="largeApp" ng-controller="LargeAppController"> <div> <a href="#/home">Home</a> | <a href="#/process1">Process1</a> </div> <br/> <br/> <br/> <ng-view>Test</ng-view> <script type="text/javascript" src="lib/jquery/jquery.min.js"></script> <script type="text/javascript" src="lib/angular/angular.js"></script> <script type="text/javascript" src="lib/angular/angular-route.js"></script> <script type="text/javascript" […]
我有大约300张幻灯片的reveal.js演示文稿。 此演示文稿的目的是在会议室后面的显示器上以“自助服务terminal模式”循环播放幻灯片。 要创build一个“信息亭模式”,我有: Reveal.initialize({ controls: false, // hide the control arrows progress: false, // hide the progress bar history: false, // don't add each slide to browser history loop: true, // loop back to the beginning after last slide transition: fade, // fade between slides autoSlide: 5000, // advance automatically after 5000 ms }); 这工作得很好,但我想随机幻灯片。 […]
最近我一直在研究移动webapp。 我正在优化移动优先,现在专门针对iOS的iPhone。 我不想要一个本地应用程序的精确外观,但我认为,作为本土的感觉是绝对重要的。 我已经做了标记和CSS来反映这个想法,留给我这个(注释以更好地理解我后面的问题): 这一切都没有问题,它也有一个本地的感觉,静态页眉和页脚,和一个可滚动的内部视图(感谢-webkit-overflow-scrolling: touch )的优势。 任何使用iOS超过5分钟的人都会知道,当你向上或向下滚动时,你会得到一些不错的动量滚动。 另外,当你点击列表顶部时,你会得到一个不错的“反弹”效果: 我觉得这有助于定义iOS的感觉,这样一个小细节可以走很长的路。 幸运的是,当您在web应用程序中的可滚动元素的列表的顶部之下,并滚动到顶部时,您会得到相同的效果。 这是行动中的理想行为 : 但是,如果您位于列表的顶部,并尝试重新创build相同的弹跳行为(列于上面的Setting.app),我们会得到以下行为,这是不期望的 : 我已经看到了堆栈溢出的一些类似的 问题 ,但是这些都select禁用弹跳。 我想知道是否可以保持弹跳,但总是让它发生在body section section#main ,而不是webapp的chrome上 。 我不使用jQuery,所以我更喜欢直接使用JavaScript(尽pipe如此,CSS解决scheme的优点)。 这里有一个包含所有代码(Sinatra,HAML和Sass;当前分支是so )的GitHub仓库 ,或者是一个带有破碎图像和链接的JSFiddle ,但是在iPhone上显示问题(最好添加到主屏幕来testing) 。
我想弄清楚如何用backbone.js制作集合集合。 我对骨干很陌生。 我有这样的情况: +—————+ +——————+ | Playlists | | Playlist | |—————| 0..* |——————| | +————–>| Name | | | | | | | | | +—————+ +——-+———-+ | | |0..* v +——————+ | Track | |——————| | Name | | Artist | | | +——————+ 在代码中,这看起来类似于这样的: var trackModel = Backbone.Model.extend({ //trackdata }); var playlistModel […]
我正在编写一个Angular Web应用程序,在这个应用程序中通过一个JWT标记来处理authentication,这意味着每个请求都有一个包含所有必要信息的“authentication”标题。 这适用于REST调用,但我不明白应该如何处理后端文件的下载链接(这些文件驻留在托pipeWeb服务的同一台服务器上)。 我不能使用常规的<a href='…'/>链接,因为它们不会携带任何标题,authentication将失败。 window.open(…)的各种咒语也一样。 我想到的一些解决scheme: 在服务器上生成临时不安全的下载链接 将身份validation信息作为urlparameter passing并手动处理 通过XHR获取数据并保存文件客户端。 以上所有都不尽如人意。 1是我现在使用的解决scheme。 我不喜欢它有两个原因:首先它不是理想的安全明智,其次它的工作,但它需要相当多的工作,特别是在服务器上:下载一些我需要调用一个服务,产生一个新的“随机“url,将其存储在某个地方(可能在数据库上)一段时间,然后将其返回给客户端。 客户端得到的url,并使用window.open或类似的。 当请求时,新的url应该检查它是否仍然有效,然后返回数据。 2似乎至less有这么多的工作。 3似乎很多工作,即使使用可用的库,以及很多潜在的问题。 (我需要提供我自己的下载状态栏,加载整个文件在内存中,然后要求用户在本地保存文件)。 这个任务似乎是一个非常基本的,所以我想知道是否有更简单的,我可以使用。 我不一定在找“解决scheme”的解决scheme。 经常的Javascript会没事的。
我在一个相当复杂的JavaScript项目中遇到了内存泄漏问题,希望有一些工具可以帮助我指出问题的原因。 我曾尝试使用Google Chrome开发者工具“个人资料”标签,在该标签中我可以拍摄HEAP快照,并将其与以前的快照区分开来(请访问http://www.youtube.com/GoogleDevelopers#p/c/B9EC47A6AAE4540F/1/OxW1dCjOstE以获取在该function上启动)。 我可以看到这个工具的内存消耗,但从那里我无法find一个方法来检测我的对象的引用保存(可能在closures)。 我的问题是:你用什么工具进行JavaScript内存泄漏debugging? 有没有一个工具可以让我看到他们所在的地方的参考资料和一些源代码?
service-worker.js:1 GET http://localhost:8080/service-worker.js net::ERR_FILE_EXISTS 注册服务人员后,每次刷新时都会出现这个错误。 我已经确定service-worker.js文件存在于根目录中。 此外,服务人员注册并正常工作。 但我仍然不断得到这个错误。 另外我正在本地主机上工作。 这是我的service-worker.js文件: console.log("SW startup"); var CACHE_NAME = "my_cache"; var urlsToCache = [ './', './css/style.css', './js/script.js' ]; self.addEventListener('install', function(event) { // Perform install steps event.waitUntil( caches.open(CACHE_NAME) .then(function(cache) { console.log('Opened cache'); return cache.addAll(urlsToCache); }) ); }); self.addEventListener('fetch', function(event) { event.respondWith( caches.open(CACHE_NAME).then(function(cache) { return cache.match(event.request).then(function (response) { return response || […]
我如何编写一个控制台日志包装: 保持logging语句的logging行号和文件名不变 提供对所有日志严重性方法(错误,日志,debugging等)的访问权限,并将其显示在控制台中,并与日志logging一起显示 确实提供了一些回退(例如,当浏览器不支持错误时调用日志方法) 可以在中央位置closures,所以我可以closures伐木生产 处理不存在控制台的情况,并且不会抛出错误 由于loginJava脚本是如此不一致,必须有一些解决scheme。 自己实现它有点乏味,但似乎没有好的库。 我目前发现这个logging器提供了所有的function,但它确实弄乱了行号。 http://benalman.com/projects/javascript-debug-console-log/
茉莉花的spyOn是很好的改变一个方法的行为,但有没有办法改变一个对象的价值属性(而不是一种方法)? 代码可能如下所示: spyOn(myObj, 'valueA').andReturn(1); expect(myObj.valueA).toBe(1);