我观看了YUIConf 2012的一段视频,其中Douglas Crockford讲述了在JavaScript中实现monad的问题.在这个演讲中,他给出了一个代码示例,利用他所谓的"上下文着色",它抛出了通过语言语法着色的想法,并为不同的范围引入了不同的颜色.以下是视频特定部分的链接.
http://www.youtube.com/watch?feature=player_embedded&v=dkZFtimgAcM#t=15m58s
这个上下文着色方案是由JavaScript或任何语言的任何代码编辑器实现的吗?
我使用Sublime Text和这个编辑器就像我遇到的所有其他代码编辑器一样,允许将颜色应用于语法.我不确定插件是否可以解决这个问题,或者编辑器是否必须从头开始设计以允许这种上下文着色方案.
在填充整个场景的three.js场景中显示网格.在这种情况下,场景是整个窗口.
此网格表示3D表面,可以使用鼠标移动使用THREE.TrackballControls此网格面向相机,因此最初它看起来像一个平面(2D)表面,直到使用鼠标拉动轨迹球.
网格线的宽度应等于渲染器的宽度.
我已经为我到目前为止所做的工作设置了一个有效的jsFiddle.
首先,我找到场景的边界(所有这些都在jsFiddle中),
App = function(sceneContainerName) {
this.sceneContainerName = sceneContainerName;
this.SCREEN_WIDTH = window.innerWidth;
this.SCREEN_HEIGHT = window.innerHeight;
this.MAX_X = this.SCREEN_WIDTH / 2;
this.MIN_X = 0 - (this.SCREEN_WIDTH / 2);
this.MAX_Y = this.SCREEN_HEIGHT / 2;
this.MIN_Y = 0 - (this.SCREEN_HEIGHT / 2);
this.NUM_HORIZONTAL_LINES = 50;
this.init();
Run Code Online (Sandbox Code Playgroud)
};
设置three.js
init: function() {
// init scene
this.scene = new THREE.Scene();
// init camera
// View Angle, Aspect, Near, Far
this.camera = new THREE.PerspectiveCamera(45, this.SCREEN_WIDTH / this.SCREEN_HEIGHT, …Run Code Online (Sandbox Code Playgroud) 我已经开始使用requirejs上下文作为一种分区大型单页面应用程序的方法,该应用程序由具有各自依赖项的各个独立SPA组成.
James Burke描述了我在github上关于多个上下文及其共同依赖关系未被共享的评论中遇到的问题,https://github.com/aurajs/aura/pull/170#issuecomment-10973485
如何在不导致对同一文件的重复请求的情况下共享不同requirejs上下文之间的公共依赖项?
此问题始于Google Chrome的第23版.我的Chrome应用会打开一个标签,以便在启动的事件触发时显示其UI.
chrome.app.runtime.onLaunched.addListener(function()
{
chrome.tabs.create(
{
url: "../../index.html"
});
});
Run Code Online (Sandbox Code Playgroud)
此方案在Google Chrome第23版之前有效.现在运行我的应用程序时收到以下异常.
Error in event handler for 'app.runtime.onLaunched': Cannot call method 'create' of undefined TypeError: Cannot call method 'create' of undefined
Run Code Online (Sandbox Code Playgroud)
在检查chrome开发人员工具中的对象后,我注意到这chrome.tabs是未定义的.
我知道我不必在manifest.json中明确设置"tabs"权限,因为根据http://developer.chrome.com/extensions/tabs.html,创建,更新和删除方法不需要"标签" "许可.
在尝试向manifest.json文件显式添加"tabs"权限后,我会在chrome:// chrome/extensions /上为应用程序收到此消息.
There were warnings when trying to install this extension: 'tabs' is only allowed for extensions and legacy packaged apps, and this is a packaged app.
Run Code Online (Sandbox Code Playgroud)
如果我按照https://developers.google.com/chrome/web-store/docs/choosing给出的图表进行操作,并选择了一个打包的应用,因为我的应用的用户界面不小,我不打算扩展Chrome的用户界面和我无法使用chrome.tabs那么如何在新的或现有的选项卡内打开我的应用程序的UI,而不必创建一个弹出窗口(这是非常烦人的,不是用户友好的)?
javascript google-chrome google-chrome-extension google-chrome-devtools