美文网首页
前端冷知识

前端冷知识

作者: amnsss | 来源:发表于2015-10-05 22:52 被阅读42次

浏览器地址栏运行JavaScript代码

在地址栏输入以javascript:开头后跟要执行的语句

javascript:alert('hello world')

在地址栏输入,回车后alert()正常执行。需要注意的是copy paste时IE及Chrome会自动去掉前缀javascript:,所以要手动加上才能执行。Firefox中不支持在地址栏运行JS代码

应用:《让Chrome 接管邮件连接,收发邮件更方便了》中有使用到,利用在浏览器地址栏中执行JavaScript代码将Gmail设置为系统的邮件接管程序。

浏览器地址栏运行HTML代码

在非IE内核的浏览器中,地址栏可以直接运行HTML代码

data:text/html,<h1>Hello, world!</h1>

利用a标签自动解析URL

有时候我们想要获取URL中的host,query,会用正则表达式去抓取。如果把url赋给DOM-a就一切OK!

来自james代码

function parseURL(url) {
    var a =  document.createElement('a');
    a.href = url;
    return {
        source: url,
        protocol: a.protocol.replace(':',''),
        host: a.hostname,
        port: a.port,
        query: a.search,
        params: (function(){
            var ret = {},
                seg = a.search.replace(/^?/,'').split('&'),
                len = seg.length, i = 0, s;
            for (;i<len;i++) {
                if (!seg[i]) { continue; }
                s = seg[i].split('=');
                ret[s[0]] = s[1];
            }
            return ret;
        })(),
        file: (a.pathname.match(//([ ^/?#]+)$/i) || [,''])[1],
        hash: a.hash.replace('#',''),
        path: a.pathname.replace(/^([ ^/])/,'/$1'),
        relative: (a.href.match(/tps?://[ ^/]+(.+)/) || [,''])[1],
        segments: a.pathname.replace(/^//,'').split('/')
    };
}
// usage
var myURL = parseURL('http://abc.com:8080/dir/index.html?id=255&m=hello#top');
 
myURL.file;     // = 'index.html'
myURL.hash;     // = 'top'
myURL.host;     // = 'abc.com'
myURL.query;    // = '?id=255&m=hello'
myURL.params;   // = Object = { id: 255, m: hello }
myURL.path;     // = '/dir/index.html'
myURL.segments; // = Array = ['dir', 'index.html']
myURL.port;     // = '8080'
myURL.protocol; // = 'http'
myURL.source;   // = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'

页面拥有ID的元素会创建全局变量

<div id="hello"></div>
<script> console.log(hello) </script>

实时编辑CSS

通过设置style标签的 display:block 样式可以让页面的style标签显示出来,并且加上 contentEditable 属性后可以让样式成为可编辑状态,更改后的样式效果也是实时更新呈现的。此技巧在IE下无效。爽爆啊!

<body>
    <style type="text/css" style="display: block" contentEditable>
    body{                                                   
        background: pink;
    }
    </style>
    <p class="content">在上面可以实时编辑我的样式</p>
</body>

相关文章

  • 前端冷知识

    匿名函数调用自身 例: 注意:箭头函数中没有arguments(规定)。

  • 前端冷知识

    浏览器地址栏运行JavaScript代码 在地址栏输入以javascript:开头后跟要执行的语句 在地址栏输入,...

  • 前端---冷知识

    HTML篇 1.浏览器地址栏运行JavaScript代码 这个很多人应该还是知道的,在浏览器地址栏可以直接运行Ja...

  • [前端冷知识集锦]

    浏览器地址栏运行JavaScript代码 浏览器地址栏运行HTML代码 把浏览器当编辑器 利用script标签保存...

  • 前端冷知识集锦

    1 前端 1.1 HTML篇 1.1.1 浏览器地址栏运行JavaScript代码 这个很多人应该还是知道的,在浏...

  • Web框架体系

    Web 前端知识体系精简 web前端知识体系图 web前端知识体系大全 HTML,CSS,JavaScript知识...

  • 前端的一些坑,一些记录,一些冷知识

    无限期更新前端的一些坑,一些记录,一些冷知识https://github.com/ssshooter/... 大概...

  • 前端冷知识,css:Hover换img图片

    img{content: url("../img/delf.png");} 就可以直接把html的img标签的ur...

  • WEB前端要学些什么?WEB前端学习路线!WEB前端从入门到精通

    免客套,直接上料! 一.资源教程: 综合类 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系...

  • 冷知识

    刚刚看到了一篇文章,简要的提取了一下信息,在这里分享了一下,可能有的是假的不必当真 1,约三分之一的人类都是寄生兽...

网友评论

      本文标题:前端冷知识

      本文链接:https://www.haomeiwen.com/subject/kcigcttx.html