小编nde*_*ore的帖子

页面加载失败时在Chrome中获取当前域名

如果您尝试使用 Chrome 加载:http : //sdqdsqdqsdsqdsqd.com/

您将获得:

ERR_NAME_NOT_RESOLVED
Run Code Online (Sandbox Code Playgroud)

我希望使用书签,能够获取当前域名并将其重定向到 whois 页面,以检查该域是否可用。

我在控制台中尝试过:

window.location.href
Run Code Online (Sandbox Code Playgroud)

但它输出:

"data:text/html,chromewebdata"
Run Code Online (Sandbox Code Playgroud)

有没有办法检索失败的 URL?

javascript google-chrome bookmarklet

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

字符串上的Array.sort

有谁知道为什么在字符串上调用Array.sort是违法的?

[].sort.call("some string")
// "illegal access"
Run Code Online (Sandbox Code Playgroud)

但是调用Array.map,Array.reduce或Array.filter是可以的吗?

[].map.call("some string", function(x){ 
    return String.fromCharCode(x.charCodeAt(0)+1); 
});
// ["t", "p", "n", "f", "!", "t", "u", "s", "j", "o", "h"]

[].reduce.call("some string", function(a, b){ 
    return (+a === a ? a : a.charCodeAt(0)) + b.charCodeAt(0);
})
// 1131

[].filter.call("some string", function(x){ 
    return x.charCodeAt(0) > 110; 
})
// ["s", "o", "s", "t", "r"]
Run Code Online (Sandbox Code Playgroud)

javascript

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

重新创建jQuery的ajaxStart和ajaxComplete功能

我试图在没有jQuery的情况下重现jQuery的函数ajaxCompleteajaxStart,这样它们就可以在没有库依赖的任何环境中使用(这是一个特殊的用例).这些函数允许在任何ajax请求之前和之后调用事件侦听器.在我的示例中,我将它们称为preAjaxListener和postAjaxListener.

我试图挂接到XMLHttpRequest对象和覆盖/装潢完成它opensend.是的,我知道这很脏.

XMLHttpRequest.prototype.open = (function(orig){
    return function(a,b,c){
        this._HREF = b; // store target url
        return orig.apply(this, arguments); // call original 'open' function
    };
})(XMLHttpRequest.prototype.open);

XMLHttpRequest.prototype.send = (function(orig){
    return function(){
        var xhr = this;
        _core._fireAjaxEvents('pre', xhr._HREF); // preAjaxListener fires

        var rsc = xhr.onreadystatechange || function(){}; // store the original onreadystatechange if it exists
        xhr.onreadystatechange = function(){ // overwrite with custom function
            try {
                if (xhr.readyState == 4){
                    _core._fireAjaxEvents('post', xhr._HREF); // postAjaxListneer should fire …
Run Code Online (Sandbox Code Playgroud)

javascript ajax hook xmlhttprequest

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

如何在React中更新和使用状态处理程序

我有组件搜索器功能SearchArticle(),它正确使用this.state.search与组件安装后的DEFAULT值(控制台显示搜索...:DEFAULT).但是当我用handleKeyPress(e)更新this.state.search时,它们的相同函数SearchArticle()在更新为e.target值之前使用prev状态(控制台再次显示Searching ...:DEFAULT).不知道如何解决它.

class Searcher extends Component {

    constructor(props) {
        super(props);
        this.state = { 
            article: [], search: "DEFAULT"
        }; 
    }  

    searchArticle() { 
        console.log('Searching...: ', this.state.search)                                 
    }

    handleKeyPress = (e) => {
        if (e.key === 'Enter') {                            
            this.setState({search: e.target.value});
            this.searchArticle();
        }
    }

    componentDidMount() {
        this.searchArticle();     
    } 

    render() {
        return (
            <div className="row">
            Search: <input onKeyPress={this.handleKeyPress} type="text" />
            </div>            
        )
    }

}
Run Code Online (Sandbox Code Playgroud)

reactjs

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