我最近开发了一个html5移动应用程序.该应用程序是单个页面,其中导航哈希更改事件替换整个DOM.该应用程序的一部分是使用API v3的Google Map.在从DOM中删除map div之前,我想删除所有事件处理程序/侦听器并释放尽可能多的内存,因为用户可能无法再次返回该部分.
破坏地图实例的最佳方法是什么?
我正在创建一个库,我经常检查Closure Compiler输出的结果,看看它是如何做的(我确实有单元测试,但我仍然希望看到编译代码以获得更好的压缩方式的提示).
所以,我发现了这段非常奇怪的代码,这是我以前从未见过的.
variable : {
some();
code()
}
Run Code Online (Sandbox Code Playgroud)
注意:这不是对象文字!此外,没有?任何地方,将使它一个?:条件.
该代码位于常规功能块(IIFE)中.
variable在这种情况下,是一个未定义的变量.没有任何代码可以将它变为真,假,或其他任何东西,只是为了确保,我把它console.log放在那里,的确,我得到了一个ReferenceError.
请注意我也在IE8中测试我的代码,所以这不仅仅是在现代浏览器中.它似乎是标准的,普通的旧javascript.
所以让我们试一试吧.点击Chrome的控制台,我得到了这个:
undeclaredVariable:{console.log('does this get logged?')} // yes it does.
trueValue:{console.log('what about this?')} // same thing.
falseValue:{console.log('and this?')} // same thing.
Run Code Online (Sandbox Code Playgroud)
但是之后...
(true):{console.log('does this work too?')} // SyntaxError: Unexpected token :
Run Code Online (Sandbox Code Playgroud)
...和...
so?{console.log('is this a conditional?')}:{alert(123)} // Unexpected token .
Run Code Online (Sandbox Code Playgroud)
那它是做什么的?
thisThing:{console.log('is used to declare a variable?')}
thisThing …Run Code Online (Sandbox Code Playgroud) 我使用以下代码来获取用户在phonegap中的位置(它工作正常)
function getLocation() {
var win = function(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
var myLatlng = new google.maps.LatLng(lat, long);
var myOptions = {
center: myLatlng,
zoom: 7,
mapTypeId : google.maps.MapTypeId.ROADMAP
};
var map_element = document.getElementById("displayMap");
var map = new google.maps.Map(map_element, myOptions);
};
var fail = function(e) {
alert('Error: ' + e);
};
var watchID = navigator.geolocation.getCurrentPosition(win, fail);
}
Run Code Online (Sandbox Code Playgroud)
通过将用户的当前位置居中放置在地图上,这可以正常工作.但我想在用户的位置显示一个指示符(红点).但我可以看到谷歌API只提供3个选项中心,缩放和mapTypeId.
是否有任何可用的选项可用于突出显示位置或是否有解决方法?
编辑
能够发现谷歌地图API有一个标记浩突出任何位置.这看起来很有帮助,但是显示了一个默认的红色气球,可以通过自定义图像进行修改吗?
我正在使用html5boilerplate构建脚本并在缩小脚本时(使用Google Closure Compiler)
我收到了这个错误
-js.all.minify:
[echo] Minifying scripts
[copy] Copying 3 files to /Users/Username/Desktop/Web/intermediate/js
[apply] /Users/Juan/Desktop/Web/js/plugins.js:117: ERROR - Parse error. Internet Explorer has a non-standard intepretation of trailing commas. Arrays will have the wrong length and objects will not parse at all.
[apply] }, { duration: 727 })
[apply]
^
Run Code Online (Sandbox Code Playgroud)
但是,如果运行未编译,代码将在IE 8中运行.
这是代码
anim1.animate({
'left': '+=32px',
'filter': 'alpha(opacity=100)',
'-moz-opacity': '1',
'-khtml-opacity': '1',
'opacity': '1',
}, { duration: 727 })
Run Code Online (Sandbox Code Playgroud)
如何让这段代码通过Compulsure Compiler?
谢谢
jquery build-script google-closure google-closure-compiler html5boilerplate
我在 ClojureScript 中有一个应用程序,它使用 Google 的 Closure Compiler 作为编译器后端。使用高级优化的结果包似乎太大了。我归咎于依赖关系,但如何找出哪些模块在输出包中占用了最多的字节?我浏览了所有 Closure Compiler 选项,没有发现任何有用的东西。然后我尝试了解源映射并使用它来计算单个模块的大小,但没有成功。
我想要一个树状输出,我可以在其中挖掘并找到大小方面最大的模块,例如。
goog100kb
goog.net30kbreact90kbmy50kb
my.namespace30kbjavascript compilation google-closure-compiler clojurescript
我有一个复杂的dojo应用程序,可以正常编译,但在使用Google的Closure Compiler进行编译后,我在某些行为方面会有细微差别.
实际上,它非常难以调试,而且我一直无法找到有关使用Google Closure编译和未编译的Javascript之间可能的功能差异的任何信息.
任何人都可以指出我已知的差异的方向,或分享任何类似的经验和从哪里开始寻找的一些想法?
我一直在寻找用于ajax调用的谷歌闭包库,我已经看了一个示例:
goog.events.listen(request, "complete", function(){
if (request.isSuccess()) {
// do something cool
} else {
// display an apologize message
}
});
Run Code Online (Sandbox Code Playgroud)
与jquery示例相反,它看起来像:
$.ajax({url: url, success: function () { }, error: function () { }});
Run Code Online (Sandbox Code Playgroud)
我一直看到谷歌关闭弹出窗口更多,但在这种情况下,优势或劣势是什么?对于像这样的ajax相关调用,jquery库调用似乎要简单得多.
我已经使用Closure作为y应用程序的一部分来压缩Javascript了一段时间,但是刚开始出现错误 405 - Method not allowed
我下面的代码已经工作了几年,但是现在已经停止了。
注意:仅当我的应用程序中的Javascript文件中检测到任何更改时,才经常调用此方法。
除了此,我从Closure应用程序中没有得到更多的错误信息。
显然,此代码执行POST操作。如果我使用在https://closure-compiler.appspot.com/home上找到的表单,它可以工作,但是如果我浏览到URL或使用我的代码得到Error 405,则几乎就像我的代码正在尝试一种GET方法。 ..但不是...
有任何想法吗?
Public Class Closure
Property OriginalCode As String
Property CompiledCode As String
Property Errors As ArrayList
Property Warnings As ArrayList
Property Statistics As Dictionary(Of String, Object)
Public Sub New(Input As String, Optional CompliationLevel As String = "SIMPLE_OPTIMIZATIONS")
Dim _HttpWebRequest As HttpWebRequest
Dim _Result As StringBuilder
Dim ClosureWebServiceURL As String = "http://closure-compiler.appspot.com/compile?"
Dim ClosureWebServicePOSTData As String = "output_format=json&output_info=compiled_code" &
"&output_info=warnings" & …Run Code Online (Sandbox Code Playgroud) 我正在研究Google的样式表重命名功能,我不知道如何重写我的jquery选择器.我没有发现该文件非常明确.
如果我有一些看起来像这样的代码:
<div class="MyClass"></div>
<div id="MyID"></div>
$('.MyClass').someFunc();
$('#MyID').someFunc();
Run Code Online (Sandbox Code Playgroud)
如何编写HTML和javascript以便CSS重命名可以工作?
谢谢你的建议.
javascript jquery google-closure-library google-closure-compiler google-closure-stylesheet
我正在使用Google Closure的事件处理方式:
goog.events.listen(this.contentElement, goog.events.EventType.CLICK, this.openEditor);
Run Code Online (Sandbox Code Playgroud)
但是我需要将一个字符串作为参数传递给函数 this.openeditor
我查看了文档,但似乎无法解决如何做到这一点,任何人有任何想法?
谢谢!
javascript events click google-closure google-closure-library
我想知道从出发地到目的地的方向。
\n\n只是想知道角度值\xe2\x80\x8b\xe2\x80\x8b 中的方向。
\n\n在上图中,角度值可能在 350-360 之间。\n(图片来源:\n https://maps.google.com/maps?saddr=Dr+NS+Hardikar+Rd&daddr=Rithala+Metro+站,+里塔拉+路,+扇区+12,+罗希尼,+新+德里,+德里,+印度&地理代码=FYfstQEdJn-YBA%3BFY8-tgEd3Y-YBCnlvvwRTAENOTHixeyZbhPwSA&sll=28.697665,77.11956&sspn=0.062715,0.1第1055章
\n\n我无法上传图片。对不起。
\n\n我该如何计算?
\njavascript ×8
jquery ×3
ajax ×1
build-script ×1
click ×1
colon ×1
compilation ×1
dojo ×1
events ×1
geolocation ×1
google-maps ×1
polymer ×1
post ×1
syntax ×1
web ×1