js获取当前url

iframe标签刷新页面停留在当前页

此生再无相见时 提交于 2020-02-29 02:11:36
整体思路:在iframe所在当前页面地址url后拼接 #+targetUrl <a href="url" target="iframeId" onclick="loadIframe($(this))">a标签跳转iframe</a> // iframe模板刷新后页面跳转问题解决--start function loadIframe(url) { //获取url链接 var u = window.location.href; //因为每次获取的链接中都有之前的旧锚点, //所以需要把#之后的旧锚点去掉再来加新的锚点(即传入的url参数) var end = u.indexOf("#"); var rurl = u.substring(0,end); if(rurl == ''){ rurl="当前页面url" } //设置新的锚点 window.location.href = rurl + "#" + url; } window.onhashchange = function() { //location.hash取到的是url链接中#(包括自己)后面的内容 var hash = location.hash; //去掉#号,得到的就是我们要设置到iframe中src上的地址 var url = hash.substring(1,hash.length); $("#iframeId")

phantomjs的使用

非 Y 不嫁゛ 提交于 2020-02-23 19:07:32
PhantomJS是一个无界面的,可脚本编程的WebKit浏览器引擎。它原生支持多种web 标准:DOM 操作,CSS选择器,JSON,Canvas 以及SVG,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如网络监测、网页截屏、无需浏览器的 Web 测试、页面访问自动化等。 1.安装 phantomjs是完全开源的软件,可以直接下载源码编译后安装,也可以直接下载官网上编译好的文件安装。 各平台下的安装文件包地址: windows https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-windows.zip Mac os https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-macosx.zip Linux https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 下载安装包完毕后,直接解压即可。安装完成之后命令行输入 phantomjs -v 后如果出现版本号即为安装成功。 2.常用的内置对象 1.system:获得系统操作对象,包括命令行参数

python 网络爬虫项目Choice1

戏子无情 提交于 2020-02-18 03:14:51
参考链接: 网络爬虫(python项目) https://blog.csdn.net/qq_37050329/article/details/83021302 一.request+正则表达式爬取猫眼电影 1.什么是request Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库 如果你看过上篇文章关于urllib库的使用,你会发现,其实urllib还是非常不方便的,而Requests它会比urllib更加方便,可以节约我们大量的工作。(用了requests之后,你基本都不愿意用urllib了)一句话,requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库。 默认安装好python之后,是没有安装requests模块的,需要单独通过pip安装 import requests response = requests . get ( "https://www.baidu.com" ) print ( type ( response ) ) print ( response . status_code ) print ( type ( response . text ) ) print ( response . text ) print ( response . cookies )

js实现图片预览

可紊 提交于 2020-02-17 05:20:31
(1)图片预览 showPic:function(url){ var json = { "data": [ //相册包含的图片,数组格式 { "src": url, //原图地址 } ] }; top.layer.photos({ photos: json ,anim: 0 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数) }); }, (2)日期的格式化 dateFormat:function (timestamp, format) { var _this = new Date(timestamp); var o = { "M+": _this.getMonth() + 1, // month "d+": _this.getDate(), // day "h+": _this.getHours(), // hour "m+": _this.getMinutes(), // minute "s+": _this.getSeconds(), // second "q+": Math.floor((_this.getMonth() + 3) / 3), // quarter "S": _this.getMilliseconds() // millisecond }; if (/(y+)/.test(format) || /(Y+)/.test

HTML5 File API

喜你入骨 提交于 2020-02-16 04:41:04
HTML5 引入了一个 File API 用以提供用户上传文件的信息,并允许网页中的 JavaScript 访问其内容。 以下是一些表单 file 控件: <input type="file" accept="video/*;capture=camcorder"> <input type="file" accept="audio/*;capture=microphone"> <input type="file" accept="image/*;capture=camera">直接调用相机(测试安卓可以,iphone还是有相册) <input type="file" accept="image/*" />调用相机 图片或者相册 <input type="file" multiple accept="image/*" />调用相册 1 FileList 对象 FileList 对象针对表单的 file 控件。 当用户通过 file 控件选取文件后,这个控件的 files 属性值就是 FileList 对象。 // 多选控件 <input type='file' multiple /> <script> document.querySelector('input').onchange = function() { console.log(this.files); }; </script>

ajax

自作多情 提交于 2020-02-14 20:48:00
前言 我们使用php动态渲染页面时,有很多比较麻烦的地方。 在前端写好页面以后,需要后台进行修改,意味这后端程序员也需要懂前端的知识,其实渲染的工作应该交给前端来做。 前端没有写好页面的话,后端无法开始工作,需要等待前端的页面完成之后才能开始工作,拖延项目的进度。 这种渲染,属于同步渲染,先获取数据, 如果数据获取的慢了, 会严重影响整个页面渲染速度, 且数据更新需要页面刷新 【演示:同步渲染】 http 协议回顾 HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和服务器之间互相通信的规则 HTTP协议规定了 请求 和 响应 的标准 请求与请求报文 get请求的请求报文详解 //--------------------------请求行-------------------------------- // GET 请求方式 // /day02/01.php?username=pp&password=123456 请求路径+参数(注意点) // HTTP/1.1 HTTP的版本号 GET /day02/01.php?username=pp&password=123456 HTTP/1.1 //--------------------------请求头--------------------------------

Javascript图片预加载详解

喜夏-厌秋 提交于 2020-02-08 06:01:03
预加载图片是提高用户体验的一个很好方法。图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度。这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速、无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验。本文将分享三个不同的预加载技术,来增强网站的性能与可用性。 方法一:用CSS和JavaScript实现预加载 实现预加载图片有很多方法,包括使用CSS、JavaScript及两者的各种组合。这些技术可根据不同设计场景设计出相应的解决方案,十分高效。 单纯使用CSS,可容易、高效地预加载图片,代码如下: #preload-01 { background: url(http://domain.tld/image-01.png) no-repeat -9999px -9999px; } #preload-02 { background: url(http://domain.tld/image-02.png) no-repeat -9999px -9999px; } #preload-03 { background: url(http://domain.tld/image-03.png) no-repeat -9999px -9999px; } 将这三个ID选择器应用到(X)HTML元素中

每天刷Web面试题(前10天汇总)

时间秒杀一切 提交于 2020-02-01 02:46:24
一、算法题部分 1. 如何获取浏览器URL中查询字符串中的参数? function getParamsWithUrl(url) { var args = url.split('?'); if (args[0] === url) { return ""; } var arr = args[1].split('&'); var obj = {}; for ( var i = 0; i < arr.length; i++) { var arg = arr[i].split('='); obj[arg[0]] = arg[1]; } return obj; } var href = getParamsWithUrl('http://www.itlike.com?id=1022&name=撩课&age=1'); console.log(href['name']); // 撩课 2. 写一个深度克隆方法(es5)? /** * 深拷贝 * @param {object}fromObj 拷贝的对象 * @param {object}toObj 目标对象 */function deepCopyObj2NewObj(fromObj, toObj) { for(var key in fromObj){ // 1. 取出键值对 var fromValue = fromObj[key]; // 2.

(JAVASCRIPT篇)

时光怂恿深爱的人放手 提交于 2020-02-01 02:35:34
1, 判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母、数字、下划线,总长度为5-20 var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/; reg.test("a1a__a1a__a1a__a1a__"); 2 ,截取字符串abcdefg的efg var str = "abcdefg"; if (/efg/.test(str)) { var efg = str.substr(str.indexOf("efg"), 3); alert(efg); } 3 ,判断一个字符串中出现次数最多的字符,统计这个次数 //将字符串的字符保存在一个hash table中,key是字符,value是这个字符出现的次数 var str = "abcdefgaddda"; var obj = {}; for (var i = 0, l = str.length; i < l; i++) { var key = str[i]; if (!obj[key]) { obj[key] = 1; } else { obj[key]++; } } /*遍历这个hash table,获取value最大的key和value*/ var max = -1; var max_key = ""; var key; for (key in obj) { if (max < obj

web前端笔试题

亡梦爱人 提交于 2020-02-01 02:34:51
1, 判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母、数字、下划线,总长度为5-20 var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/; reg.test("a1a__a1a__a1a__a1a__"); 2 ,截取字符串abcdefg的efg var str = "abcdefg"; if (/efg/.test(str)) { var efg = str.substr(str.indexOf("efg"), 3); alert(efg); } 3 ,判断一个字符串中出现次数最多的字符,统计这个次数 //将字符串的字符保存在一个hash table中,key是字符,value是这个字符出现的次数 var str = "abcdefgaddda"; var obj = {}; for (var i = 0, l = str.length; i < l; i++) { var key = str[i]; if (!obj[key]) { obj[key] = 1; } else { obj[key]++; } } /*遍历这个hash table,获取value最大的key和value*/ var max = -1; var max_key = ""; var key; for (key in obj) { if (max < obj