标签归档:随机

使用 JavaScript 生成随机字符串

用途:如 Oauth 认证等需要的等长随机字符串。

/**
 * By James from http://www.xinotes.org/notes/note/515/
 */
function randomString(length) {
    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split('');

    if (! length) {
        length = Math.floor(Math.random() * chars.length);
    }

    var str = '';
    for (var i = 0; i < length; i++) {
        str += chars[Math.floor(Math.random() * chars.length)];
    }
    return str;
}

/* examples */

// generate a random string of random length
randomString();

// generate a random string of length 8
randomString(8);

使用wp_reset_query()重置query

琢磨着为单篇文章添加上随机文章之类,因为已经写好了一个随机文章的函数,所以,直接在 single.php 中调用即可。

可是,页面卡住了,CPU 100了。换了个浏览器,依然如此。将新添加的语句注释掉,正常。函数的问题?可是,404 页面工作正常啊!将语句替换为简单的 echo 语句,一切正常。

再次调用函数,刷新,等待加载。N久之后,终于开始刷新出来了。可是,为什么是无数的文章而不是原本的单篇文章的呢?赶紧停止加载,去看代码。

仔细查看代码,终于发现了问题。我写的随机文章函数使用的是 wp_query() 方法,然后,里面是一个 loop,而添加的单篇文章的时候又位于其 loop 里面。而 $post 之类都是全局变量,这样,随机文章函数就重写了一系列的全局变量,从而导致了悲剧。
继续阅读