小编Gus*_*avo的帖子

PHP会话ID字符串的长度是多少?

我正在MySQL数据库中创建一个表以保存一些会话数据,包括session_id.VARCHAR存储session_id字符串的长度应该是多少?

php mysql session sessionid

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

如何在没有"#"的情况下使用onclick防止重新加载?

我希望通过链接添加一些指令 - onclick调用显示简单警报框的脚本.如果我这样做的话......

<label for="arquivo">Máximo de 1MB, observe os <a href="" onclick="ajudaUpload();">tipos permitidos</a>.</label>
Run Code Online (Sandbox Code Playgroud)

即使返回false也会重新加载页面,如果我确实喜欢这个...

<label for="arquivo">Máximo de 1MB, observe os <a href="#" onclick="ajudaUpload();">tipos permitidos</a>.</label>
Run Code Online (Sandbox Code Playgroud)

使用"#"符号,页面滚动到顶部,"#"添加到查询字符串.有没有第三种方法可以在不重新加载,滚动和垃圾的情况下完成它?

javascript onclick

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

null值的JavaScript行为是什么?

我在测试某些变量是否为空时遇到了代码问题,并决定用小提琴测试它:

测试空值

var result = "";
var Teste = new Object();
Teste.ObjectNew = new Object();
Teste.StringNew = new String();
Teste.NumberNew = new Number();
Teste.ArrayNew = new Array();
Teste.ObjectLiteral = {};
Teste.StringLiteral = "";
Teste.NumberLiteral = 0;
Teste.ArrayLiteral = [];
Teste.ObjectNull = Object(null);
Teste.StringNull = String(null);
Teste.NumberNull = Number(null);
Teste.ArrayNull = [null];
for (var i in Teste) {
  if (Teste[i] == null) {
    result += "<p>Type " + i + " is null: " + Teste[i] + "</p>";
  } else { …
Run Code Online (Sandbox Code Playgroud)

javascript null ecmascript-5

6
推荐指数
1
解决办法
814
查看次数

如何检测浏览器是否接受addEventListener的xmlhttprequest事件?

对象内的此函数定义xmlhttprequest对象的事件处理.由于某些浏览器不接受addEventListener方法,我做了一个测试,如果没有,它将定义onstatechange:

var reqEngatilhar = function(){
    este.concluido = false;
    timeoutId = setTimeout(reqTimeout, este.timeout);
    if(este.Request.hasOwnProperty("onload")){
        este.Request.addEventListener("error", reqErro, true);
        este.Request.addEventListener("progress", reqMon, false);
        este.Request.addEventListener("abort", reqAbort, false);
        este.Request.addEventListener("load", reqFim, false);
        console.log("$Http reqEngatilhar usando eventos...");
    } else {
        este.Request.onreadystatechange = function (e) { reqSwitch(e); };
        console.log("$Http reqEngatilhar usando onreadystatechange...");
    }
}
Run Code Online (Sandbox Code Playgroud)

"este"是函数外的"this"(var este = this;)

"reqSwitch"将指向正确的功能.问题是测试este.Request.hasOwnProperty("onload")仅适用于Safari.如何进行跨浏览器测试以检测浏览器是否可以使用addEventListener?

javascript events xmlhttprequest addeventlistener

6
推荐指数
1
解决办法
607
查看次数

如何将DOM元素扩展为一个类(没有jQuery)

可能重复:
在Javascript中,你可以扩展DOM吗?

我正在尝试向Element添加方法和属性.它未列为全局类.我可以像这样扩展String:

String.prototype.dosomething = function { ... };
Run Code Online (Sandbox Code Playgroud)

我尝试这样(它更大,这是基本的):

function $id(str){
    this.element = document.getElementById(str); 
    return element;
}
var myElem = $id('myId'); // WORKS !!!
$id.prototype.dosomethig = function ( ... }; 
var myValue = $id('myId').dosomething(); // DOESN'T WORK !!!
Run Code Online (Sandbox Code Playgroud)

我尝试其他方式,但重点是它始终相同,当我尝试扩展类时,它不起作用.有办法避免这种情况吗?我知道jQuery这样做,但我想做我的onwn - 如果可以,我可以......对吗?

编辑:下面已经在Safari和Firefox中运行的代码......

Element.prototype.pos = function(){
    var curleft = this.offsetLeft;
    var curtop = this.offsetTop;
    var scrleft = this.scrollLeft;
    var scrtop = this.scrollTop;
    var pElement = pElementScr = this.offsetParent
    while(pElement){
        curleft += pElement.offsetLeft;
        curtop += pElement.offsetTop;
        pElement = pElement.offsetParent;
    }
    while(pElementScr){ …
Run Code Online (Sandbox Code Playgroud)

javascript dom prototype

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

如何在新窗口中获取dom元素?

JavaScript中的一个简单任务是打开一个新窗口并在里面写.但我需要写一个dom元素,一个带ID的div.

var novoForm = window.open("somform.html", "wFormx", "width=800,height=600,location=no,menubar=no,status=no,titilebar=no,resizable=no,");
Run Code Online (Sandbox Code Playgroud)

比我尝试的东西......

var w = novoForm.innerWidth;
var h = novoForm.innerHeight;
novoForm.document.getElementById("monitor").innerHTML = 'Janela: '+w+' x '+h;
Run Code Online (Sandbox Code Playgroud)

我这样做是为了查看对象"novoForm"是否有效.但是"监视器"div中没有​​写入任何内容.我也尝试使用onload事件但没有成功.我想知道这是否有一些安全限制,或者我错过了什么......

javascript window

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

如何调整文本字段大小以适合所有文本的最佳方法

我有一个非常动态的textField(html文本),我必须调整框的大小来修复它并计算占用的空间.我正在使用...

myTextField.height = myTextField.textHeight;
Run Code Online (Sandbox Code Playgroud)

但结果不是很精确,即使Adobe的描述说不是.还有更好的方法吗?这个班级有一些"自动调整大小"的适当性吗?而对于最后一个:如果它没有提供真正的文本高度,这个"textHeight"的目的是什么?

actionscript-3 textfield

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

如果EventConstructor不是构造函数,我应该如何创建事件?

我正在关注MDN指南并试图创建一个事件:

MDN创建事件的指南

var jGp = new Object();
...
jGp.evt = new Object();
jGp.evt.erro = new Event("jGp_evtErro");
Run Code Online (Sandbox Code Playgroud)

错误是(Safari):

TypeError: '[object EventConstructor]' is not a constructor (evaluating 'new Event("jGp_evtErro")')
Run Code Online (Sandbox Code Playgroud)

另外要使用document.createEvent不推荐的接缝(MDN如上所述),那么我应该如何创建我的活动?

javascript events

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

如何在 JavaScript 中获取实例名称?

如果我创建一个这样的类:

function MyClass(input){
  // construct something;
  var myInstanceName = ???
}
Run Code Online (Sandbox Code Playgroud)

创建实例时我需要实例的名称......

var MyInstance = new MyClass("做点什么");

需要知道 myInstanceName(在本例中为“MyInstance”),因为有一个创建按钮的方法,并且“onclick”必须调用该实例的方法。

我尝试了“this.name”,但它返回未定义...我如何获取这个值?

编辑:这是一个经过测试的工作示例:

function MyClass(WhereGoesTheButton){
    this.myName = "Test"; // <-- here is the issue
    this.idButton = WhereGoesTheButton;
    //
}
MyClass.prototype.createButton = function(){
    document.getElementById(this.idButton).innerHTML = '<button id="myId" onclick="'+this.myName+'.callBack(this);">Press Here</button>';
}
MyClass.prototype.callBack = function(who){
    alert("Button "+who.id+" has been pressed!");
}
var Test = new MyClass("testArea");
//
function ini(){
    Test.createButton();
}
Run Code Online (Sandbox Code Playgroud)

只需将其放在带有 body onload ini() 和一些 div 的页面中即可创建按钮。

它有效,但欢迎有更好实践的替代方案!

编辑2:这将完成这项工作,尽管我们仍然没有实例的名称:

var MyClassId = 0;
function …
Run Code Online (Sandbox Code Playgroud)

javascript class instance

3
推荐指数
1
解决办法
4432
查看次数

Apache不会自动在root中执行index.php的脚本

这很奇怪:我的Apache配置了DirectoryIndex index.html,index.php这样,当我键入http://gustavopi-macmini.local/时,index.php如果文件中只有html标签,它会搜索并加载它.

但是,如果我放入一些PHP脚本index.php,它会加载index.html.en(It Works!).但是,如果我输入http://gustavopi-macmini.local/index.php,它会加载并执行脚本.

此外,如果我将一个index.php文件放在一个子目录中并键入http://gustavopi-macmini.local/somesubdirectory/它会index.php正常加载和执行...

为什么这种从根目录中的php脚本"跳"出来的奇怪行为?

php apache http

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

JavaScript setInterval范围问题:bind的替代方法

我只是使用bind方法纠正我的JavaScript类中的范围问题,该方法将setInterval调用的函数放在正确的范围内.但它接缝绑定早了(我认为是1.8.4)而且我担心浏览器的兼容性.

还有其他更老的选择吗?我应该忘记旧浏览器吗?

例:

function MyClass(SomeText){
  this.text = SomeText;
}

MyClass.prototype.test = function(){
  console.log("The text: "+this.text);
}

MyClass.prototype.initialize = function(){
  setInterval(this.test.bind(this), 1000);
}

var Test = new MyClass("my thoughts");
Test.initialize();
Run Code Online (Sandbox Code Playgroud)

javascript scope class setinterval

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

如何通过乘法键对多维数组进行排序?

我正在尝试使用多维数组执行与mySQL查询"SELECT*FROM table ORDER BY field1,field2,..."相同的操作:

$Test = array(
    array("a"=>"004", "n"=>"03"),
    array("a"=>"003", "n"=>"02"),
    array("a"=>"001", "n"=>"02"),
    array("a"=>"005", "n"=>"01"),
    array("a"=>"001", "n"=>"01"),
    array("a"=>"004", "n"=>"02"),
    array("a"=>"003", "n"=>"01"),
    array("a"=>"004", "n"=>"01")
);
function msort(&$array, $keys){
    array_reverse($keys);
    foreach($keys as $key){
        uasort($array, sortByKey);
    }
    //
    function sortByKey($A, $B){

        global $key;

        $a = $A[$key];
        $b = $B[$key];
        if($a==$b) return 0;
        return ($a < $b)? -1 : 1 ;
    }
}
//
msort($Test, array("a","n"));
//
foreach($Test as $t){
    echo('<p>'.$t["a"].'-'.$t["n"].'</p>');
}
Run Code Online (Sandbox Code Playgroud)

我的理论是:如果我将多次乘法排序为最重要的密钥,那么我会按照mySQL查询的顺序排序.

但是php正在返回"警告:uasort()期望参数2是有效的回调函数,函数'sortByKey'未找到或者在第23行的/Library/WebServer/Documents/www/teste.array_sort.php中找到无效的函数名"(uasort)线)

这是一个简单的订单功能,我错过了什么?

php sorting multidimensional-array

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