小编whi*_*tom的帖子

使用jQuery作为DOM元素的Google Maps infowindow.setContent似乎只能运行一次?

我变得非常沮丧,我希望有人可以提供帮助.我有一个地图应用程序,地图上有几个标记,其中infoWindows的内容定期更新.我的解决方案是将进入DOM中infoWindow的div放在一个隐藏容器中,该容器可以在后台由我的更新程序代码更新.然后我使用单个infoWindow并使用查询将内容设置为DOM元素:

google.maps.event.addListener(marker, 'click', function(){
     infoWindow.setContent($(#"+id+"-window-content)[0]);
     infoWindow.open(map, marker);
}
Run Code Online (Sandbox Code Playgroud)

事情很有效......一次.然后它不会再为该制造商打开.我注意到如果我在一个标记(标记A)上打开窗口,然后关闭它,然后在另一个制造商(标记B)上打开它,然后返回标记A,窗口将出现在标记A旁边,但有Marker B的内容.

为什么我的脚本不会再次将内容设置为DOM元素......这几乎就像使用jQuery选择器从DOM中删除元素一样.

干杯,

whiteatom


再次问好,

当我试图在这里解释时,我可能已经回答了我自己的问题.

将DOM元素传递给setContent()函数似乎实际上将它从DOM中删除并将其放在infoWindow中,所以下次我尝试抓住它时,它就不再存在了.我的修复是将一个clone()添加到jQuery调用,它现在似乎工作.

google.maps.event.addListener(marker, 'click', function(){
     infoWindow.setContent($(#"+id+"-window-content).clone()[0]);
     infoWindow.open(map, marker);
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以确认这是传递DOM元素时setContent的行为吗?这是处理这个的最好方法吗?

干杯,

whiteatom

google-maps google-maps-api-3

8
推荐指数
1
解决办法
1万
查看次数

具有压缩功能的 Node.JS http 服务器 - 发送变量作为响应

抱歉这个含糊不清的问题......但我不太确定问题是什么。我有一个节点 http 服务器,用于将 JSON 数据提供给 Web 应用程序。它工作得很好,但我的 JSON 字符串开始变大(10-12 MB),所以我想用 zlib 添加压缩。

JSON 数据在一个字符串变量中,我想压缩然后写入响应对象......但返回到客户端的结果似乎总是具有完美的标头,并且没有内容。这是我的 deliveryResponse 函数:

var deliverResult = function (data, response, callback, acceptEncoding){
    var payload = callback + '(' + JSON.stringify(data) + ');';

    if (acceptEncoding.match(/\bdeflate\b/)) {
        response.writeHead(200, { 'Content-Encoding': 'deflate', 'Content-Type': 'text/javascript; charset=UTF-8' });
        zlib.deflate(payload, function(err, result){
            if(!err){
                //console.log(result.toString('utf8')); // I have data on the console here
                response.write(result.toString('utf8')); // No data sent here
           }
        });
    } else if (acceptEncoding.match(/\bgzip\b/)) {
        response.writeHead(200, { 'Content-Encoding': 'gzip', 'Content-Type': 'text/javascript; charset=UTF-8' });
        zlib.gzip(payload, …
Run Code Online (Sandbox Code Playgroud)

javascript zlib http-compression node.js

5
推荐指数
1
解决办法
2930
查看次数

有没有办法只在HTML表单的某些字段上使用tabindex?

我有一套8种复杂形式(70多个字段)用于存储团队报告.表单的一部分在表中有4个列宽和2个高(下面的名字在顶部和姓氏).当用户填写表单时,tab键将它们跨越名字,然后转到姓氏,因为这是它们在源中的顺序(一个TR中的名字和下一个TR中的姓氏).显然,如果tab键从名字到名字,然后到下一个名字,我的用户会更容易.

我知道我可以使用tabindex解决这个问题,但我真的不想对所有500多个字段进行tabindex,只需修复这4个字段即可.

有什么方法可以将tabindex只是表单的一部分吗?我尝试过,但它不会选择其他字段.有一些聪明的JS解决方案吗?或某种方式对这些字段进行分组,以便默认标签将我带入组中,然后我可以在那里tabindex?

如果你愿意的话,叫我懒惰......但我正在努力为自己节省很多时间来剪切和粘贴并犯错误.

干杯!

html javascript forms tabindex

5
推荐指数
1
解决办法
2132
查看次数

聚合javascript文件的PHP文件正在添加不可打印的字符

我想在我们的debian服务器上安装phpMyAdmin.我试过直接通过wget下载它,下载到我的Mac然后通过FTP上传,两次我都得到同样的错误...

当我尝试在Web浏览器(Safari,Chrome或IE 9)中加载页面时,我在Inspector(或控制台,具体取决于浏览器)中出现空白屏幕和错误.

SyntaxError:无效字符'\ u0031'get_scripts.js.php:19111

之后,我得到了几个与javascript文件未加载相关的javascript错误.我曾经见过这个错误,问题是由于行结尾不正确..我试过安装这几个不同的方式..所以我看不出那个满足是一个问题..如果这个行错了对于一个linux盒子的结局,我看不出我是第一个发帖的人.

有任何想法吗?

更新:我们已经做过测试了很多..的get_scripts.js.php文件聚集通过查询字符串给它成一个单一文件的js文件.在输出get_scripts.js.php文件之后,在文件末尾生成大约12个不可打印的字符.当我们从输出中删除标题时,字符数会减少,但仍然为1.

这就是它变得奇怪的地方.当我注释掉read file()函数(即输出javascript)时,字符保留,当我剪切分隔js文件的新行时,字符保持不变.当我切断它们时,它们会消失.

我有一种感觉这是web服务器,PHP或文件系统相关,但它不会发生在主机上的任何其他页面上....

现在有什么想法?

php filesystems apache2 phpmyadmin

5
推荐指数
1
解决办法
1504
查看次数

绑定挖掘数据模型中的特殊字符

我有一个带有特殊字符的数据模型(度数符号)..所以该属性包含以下内容:"48 °f".但是,当UI更新此数据时,我会看到" °",而不是度数符号.我也试过" °",但这也不起作用.

如何在数据模型中放置特殊字符并将其显示在UI上?

javascript special-characters knockout.js

4
推荐指数
1
解决办法
4725
查看次数

如何在谷歌地图边缘创建一个填充

我有一个非常繁忙的谷歌地图应用程序,我已经建立了,我正在尝试在地图的外边缘周围创建一个"缓冲区",以便谷歌地图命令不会把东西放在那里.我的解决方案是创建不可见的div并将它们作为控件添加到地图中,每个边缘一个.这似乎很有效,因为所有的谷歌命令都会看到它们并相应地进行调整,并且地图正常显示.例如,fitBounds确保我的边界不在不可见的图层下.对于我有一个控制栏的顶部,它是一个完美的解决方案,但对于没有任何东西的其他边缘,它会产生一个问题 - 当他们接受click事件时,我无法点击这些控件下的地图或信息窗口.

所以我正在寻找两种解决方案中的一种:1)我可以让我的隐形控件将点击传递到地图,或者; 2)是否有更好的方法来填充地图的边缘; 每次我想调用fitBounds或panTo时都不会涉及大量数学的东西,因为我自动执行大量的地图运动

干杯

javascript google-maps google-maps-api-3

2
推荐指数
1
解决办法
2543
查看次数

jQuery Validation为输入的每个字符提供错误

我在我的网站上的表单上使用jQuery Validator.它运行正常,但每次击键都会导致错误:

Uncaught TypeError: Object #<error> has no method 'call' 
Run Code Online (Sandbox Code Playgroud)

我正在通过每个字段的类和所有正常工作的实现验证 - 必填字段,电子邮件字段,数字等.这是我的验证码:

 if(jQuery().validate) {
      //assign to global var for manual validation
      validator = $(".validated").validate({
           errorClass: "help-inline text-error",
           errorElement: "span",
           invalidHandler: function(e, validator) {
                var errors = validator.numberOfInvalids();
                if (errors) {
                     var message = errors == 1
                          ? 'Please fix the indicated field before saving this form.'
                          : 'Please fix the errors on the indicated fields before saving this form.';
                      $(".validation-message").text(message);
                      $(".validation-message").addClass('alert alert-error');
                } else {
                      $(".validation-message").removeClass('alert alert-error').text("");
                }
             }, …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-validate

2
推荐指数
1
解决办法
1552
查看次数

codeigniter故障排除"无法找到您指定的型号..."错误

我一直在Mac上使用CodeIgniter开发一个Web应用程序,没有任何问题.我正在使用Ion Auth库进行用户身份验证.我没有移植生产服务器的网站,我收到以下错误:

An Error Was Encountered

Unable to locate the model you have specified: Ion_auth_model
Run Code Online (Sandbox Code Playgroud)

这里的所有帖子似乎都是文件放置或文件名或类名的情况.我有四倍检查离子auth型号代码..

/application/models/ion_auth_model.php

class Ion_auth_model extends CI_Model{
   ...
}
Run Code Online (Sandbox Code Playgroud)

模型加载的唯一位置是离子auth库:

/applicaiton/libraries/ion_auth.php

$this->load->model('ion_auth_model');
Run Code Online (Sandbox Code Playgroud)

最令人沮丧的是 - 它在我的开发系统上运行得很好.我的prod和dev环境之间的唯一区别是数据库配置(我甚至现在在开发模式中使用它,所以我可能会看到错误.

没有日志条目,页面上没有有用的错误,CodeIgniter没有任何帮助来指导错误来自哪里.

任何人都可以指出我正确的方向来解决这个问题????

php module codeigniter ion-auth codeigniter-3

0
推荐指数
1
解决办法
2万
查看次数