小编Roc*_*mat的帖子

在JavaScript中创建类似于数组的对象

在JavaScript中,有些对象假装是数组(或者是"类似数组").这些对象是arguments,NodeLists(从getElementsByClassName等等返回)和jQuery对象.

console.logged时,它们显示为数组,但它们不是.我知道,为了像数组一样,对象必须具有length属性.

所以我做了一个像这样的"对象":

function foo(){
    this.length = 1;
    this[0] = "bar";
}

var test = new foo;
Run Code Online (Sandbox Code Playgroud)

当我console log(test),我得到(如预期)一个foo对象.我可以使用它将其"转换"为数组

Array.prototype.slice.call(test)
Run Code Online (Sandbox Code Playgroud)

但是,我不想转换它,我希望它像阵列一样.如何制作类似于数组的对象,以便在console.log它出现时,它会显示为数组?

我尝试过设置foo.prototype = Array.prototype,但console.log(new foo)仍显示一个foo对象,而不是一个数组.

javascript arrays object

19
推荐指数
2
解决办法
9838
查看次数

启用PHP Apache2

我可以在mods-available目录中找到php5 mod,但我不知道如何将它放入启用mods的目录中.

另外,我只想检查这是在我的设备上启用php的方法...我知道PHP已安装,但是另一个开发者已经禁用它(并且是无法检测的)!

php apache

19
推荐指数
3
解决办法
7万
查看次数

HTML表到JSON

我需要获取表行并转换为JSON.

有任何想法吗?我在这里有这个代码,但它不起作用.

function tableToJSON(tableID) {
    return $(tableID + "  tr").map(function (row) {
        return row.descendants().pluck("innerHTML");
    }).toJSON();
}
Run Code Online (Sandbox Code Playgroud)

html jquery

18
推荐指数
2
解决办法
5万
查看次数

延迟加载JavaScript和内联JavaScript

我注意到在<head>我的网站(工作),有很多<link rel="stylesheet" type="text/css" href="" /><script type="text/javascript" src="">标签.还有更多的JavaScript/CSS文件仅为特定页面加载(我们使用CodeIgniter,文件路径传递到标题视图).

我正在考虑使用条件/异步加载器(例如,yepnope.js,head.js等),但我注意到这样做有一个小问题.

在我们的视图中,有内联JavaScript,有些使用$(function(){})一些用途$(document).ready(function(){}),有些只是有代码(使用jQuery)不在ready块中.

无需编辑每个视图文件以将其代码包装在函数中并在加载JS文件时调用它,是否有办法延迟内联代码,直到JavaScript被异步加载?

javascript asynchronous codeigniter

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

为什么需要编译Java代码,但JavaScript代码不需要编译

为什么用Java编写的代码需要用JVM解释的字节代码编译,但是用JavaScript这样的语言编写的代码不需要编译,可以直接在浏览器中运行?

有没有一种简单的方法来理解这个?

这两种语言的编写方式之间的根本区别是什么,这可能有助于理解这种行为?

我不是CS学生,所以请原谅这个问题的天真.

javascript java bytecode compilation

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

在IE8中创建脚本标记

我正在测试我们的网站,在IE8中,并得到了可怕的Unexpected call to method or property access.错误.

经过大量的调试(IE8的devtools糟透了),我发现了违规行.

$('<script>').html(JSData).appendTo('head')
Run Code Online (Sandbox Code Playgroud)

问题是$('<script>').html(JSData).我试着在控制台中运行它,但我仍然遇到错误.

为什么IE8不能.html在新创建的脚本标签上设置?

PS这也失败了:

$(document.createElement('script')).html(JSData)
Run Code Online (Sandbox Code Playgroud)

更新:我试图在没有jQuery的情况下创建脚本标记:

var scriptTag = document.createElement('script');
scriptTag.type = 'text/javascript';
scriptTag.innerHTML = JSData;
Run Code Online (Sandbox Code Playgroud)

scriptTag.innerHTML = JSData;行,IE8给Unknown runtime error.谢谢IE8.

javascript jquery internet-explorer-8

17
推荐指数
1
解决办法
6355
查看次数

未捕获的TypeError:对象[object global]的属性'$'不是函数?

我收到以下错误

未捕获的TypeError:$对象[对象全局]的属性' '不是第2行中的函数:

使用以下代码:

$(document).ready(function() {
    $('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
    $('#featuredvid > ul').tabs();
});
Run Code Online (Sandbox Code Playgroud)

问题只出现在127.0.0.1本地,而相同的代码在线确定!我很眼花缭乱,有什么想法吗?

javascript jquery

16
推荐指数
5
解决办法
6万
查看次数

如何在客户端启动桌面应用程序

在我的网页中,我必须在客户端的计算机上启动桌面应用程序(如果已安装).知道我怎么能这样做吗?

如果应用程序是MS Office或Adobe Reader,我知道如何启动它们,但我想要启动的应用程序是一个自定义应用程序.你无法在互联网上找到它.

我该如何打开该应用程序?

javascript

16
推荐指数
4
解决办法
4万
查看次数

在IE9上,Win 7 window.open()返回null而不是打开窗口的引用

我正在尝试下面这样的事情,

var myWindow = null;
if(!myWindow || myWindow.closed)
{
    myWindow = window.open(url, windowId);
}
else 
{
    myWindow.focus();   
}
Run Code Online (Sandbox Code Playgroud)

所有浏览器都返回window.open()的窗口引用,但IE 9返回NULL.有没有人有更多关于为什么返回null的信息或可能是IE9的解决方案?

javascript browser internet-explorer-9

16
推荐指数
2
解决办法
3万
查看次数

计算数组中字符串的实例

我在jQuery中有一个数组,我需要计算该数组中"true"字符串的数量,然后使"numOfTrue"变量等于真实字符串的数量.因此在下面的数组中,有2个"true"字符串,因此numOfTrue将等于2.

var numOfTrue;
var Answers = [ "true", "false", "false", "true", "false" ];
Run Code Online (Sandbox Code Playgroud)

我不知道如何在jQuery中循环遍历数组来计算字符串.或者甚至是必要的循环?

真实字符串的数量可以在1到5之间的任何位置变化.

javascript jquery

15
推荐指数
4
解决办法
3万
查看次数