safari

getCurrentPosition in JS does not work on iOS

旧巷老猫 提交于 2021-01-19 22:28:36
问题 I have a page that contains a code that gets the current location from the device and load other stuff based on the location with this code: if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(successFunction); } else { // Make API call to the GeoIP services } It works on all android devices that I tested, but on iOS and macOS, it’s not working. Neither if nor else . Seems like it stuck at getting the current location. Any help? 回答1: iOS and macOS doesn't give you the user's

getCurrentPosition in JS does not work on iOS

梦想的初衷 提交于 2021-01-19 22:25:17
问题 I have a page that contains a code that gets the current location from the device and load other stuff based on the location with this code: if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(successFunction); } else { // Make API call to the GeoIP services } It works on all android devices that I tested, but on iOS and macOS, it’s not working. Neither if nor else . Seems like it stuck at getting the current location. Any help? 回答1: iOS and macOS doesn't give you the user's

addEventListener与attachEvent区别

对着背影说爱祢 提交于 2021-01-19 15:59:47
DOM2级事件处理程序 DOM2级事件定义了两个方法用于处理 指定 和 删除 事件处理程序的操作: addEventListener removeEventListener 所有的DOM节点都包含这两个方法,并且他们都接受三个参数: 1.事件类型 2.事件处理方法 3.布尔参数,默认false (true捕获阶段调用事件处理方法;false冒泡阶段调用事件处理方法。) 参数 参数说明 element.addEventListener(type,listener,bool) element 要绑定事件的对象,及HTML节点。 type 事件名称,注意去掉事件前边的“on”,比如“onclick”要写 成“click”,“onmouseover”要写成“mouseover”。 listener 要绑定的事件监听函数,注意只写函数名,不要带括号。 bool: true捕获阶段调用事件处理方法;false冒泡阶段调用事件处理方法。 IE不支持addEventListener和removeEventListener方法 实现了两个类似的方法: attachEvent detachEvent 这两个方法都接受两个相同的参数。 1.事件处理程序名称 2.事件处理程序方法 IE只支持事件冒泡 兼容性 attachEvent——兼容:IE7、IE8;不兼容firefox、chrome、IE9

selenium源码分析系列第一篇

这一生的挚爱 提交于 2021-01-19 15:31:42
Selenium源码分析之目录结构分析 阅读源码的作用 看下selenium python端的目录结构 阅读源码的作用 阅读理解源码能够让我们更容易掌握和理解selenium,让我们能更好做二次封装,加强基层代码能力。 ##安装selenium pip install selenium -m 查看安装完成后的信息 看下selenium python端的目录结构 common/exceptions.py 定义了所有可能在webdriver代码中出现的异常 webdriver/android webdriver/blackberry webdriver/chrome webdriver/edge webdriver/ie webdriver/firefox webdriver/opera webdriver/safari webdriver/iewebkitgtk 上述各目录定义了各浏览器兼容的代码,即用于支持不同的浏览器 webdriver/common 定义了webdriver所指定的通用能力 webdriver/remote 定义了webdriver核心能力 webdriver/support 定义了webdriver辅助能力 未完待续下一篇文章将继续探索每个文件的 来源: oschina 链接: https://my.oschina.net/u/4391448/blog

python打造seo必备工具-自动查询排名

心不动则不痛 提交于 2021-01-19 07:57:59
因为工作需要,利用业余时间开发的,可以查询百度排名+360排名工具,附上代码。 #360搜索排名查询 # -*- coding=utf-8 -*- import requests from lxml import etree headers={ 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' } def ss360(keyword,num,search_url): search_datas='' for x in range(1,num+1): print(f"正在查询第{x}页搜索结果...") url=f"https://www.so.com/s?q={keyword}&pn={x}" html=requests.get(url,headers=headers).text #print(html) con=etree.HTML(html) #print(con) title=con.xpath('//h3[@class="res-title "]/a/text()') #print(title) #print(len(title)) datas=con.xpath('///h3

超级好用的Mac软件

谁说胖子不能爱 提交于 2021-01-18 14:46:18
研发工具 SourceTree ,git 辅助,由于 git 高级操作命令记不住,就只用借助 UI 了 Paw ,请求模拟,前后端联调时我会用这个先走一遍 Github Desktop ,管理 github 仓库的变更和 PR,代替了 SourceTree 的部分工作,可以方便地把别人的 PR checkout 到本地验证 Gas Mask ,Hosts 管理 ColorSnapper2 ,取色工具 Charles ,抓包用,支持 https Google Chrome + Google Chrome Canary + Firefox + Safari,浏览器,调试用,IE 的测试会借助内网的云测平台 WebStorm VSCode 输出 Ulysses ,笔记工具,从 Bear 和 Notion 切到 Ulysses OmniGraffle + iThoughtsX + iPad 上的 Whiteboard ,分别用于画架构图和和脑图 LICEcap ,GIF 录屏工具 输入 Reeder ,RSS 阅读软件,我的主要信息来源,没有提供 rss 源的我会先在 rsshub.app 上找,再没有就自己写一个 serverless 服务部署在 now 上 Kiwi for Gmail ,Gmail 客户端 效率 Alfred + Powerpack ,应用启动、粘贴板管理

外边距合并规则

笑着哭i 提交于 2021-01-17 14:53:05
写在前面 margin的合并规则算是CSS盒模型里最复杂部分,没有之一。因为这部分内容涉及很多不太容易理解的概念,例如clearance(间隙)、normal flow/in-flow(常规流)、BFC(块格式化上下文)、line box(行框)、inline box(行内框)、bidi(双向环境)等等 CSS盒模型不只是7项水平属性 + 7项垂直属性: margin border padding width/height P.S.想起高跟鞋的梗——“不仅有padding,今天还加了margin” 相关的内容至少还包括: context-box与border-box padding/margin百分比的计算方式 background与padding/margin/border margin负值 margin合并 盒模型是视觉格式化模型中的基础单元,是CSS布局模型中必不可少的一部分 CSS盒模型描述了一个为文档树中的元素生成的并根据视觉格式化模型进行布局的矩形框 (引自8 盒模型) 所以,盒模型也是CSS在文档树之上建立的第一层抽象,是CSS布局控制与文档元素直接关联的部分。而外边距合并是直接影响垂直格式化的因素之一,有必要深入理解 一.经典场景 下列例子中,假设UA没有默认样式表,未声明的样式属性都依照规范取其初始值 另外,假设UA都是遵守CSS规范的 1.列表项间的外边距合并

网站整体变灰(黑白、置灰)原理

孤人 提交于 2021-01-16 05:00:24
一、前言 在很多时候我们需要把整个网站变灰,比如“汶川地震”。近日受降雨影响四川茂县突发山体高位垮塌,想起了曾经的汶川地震。来看看网站是如何实现整体变灰的。 二、CSS3 filter(滤镜) 属性 html{ -webkit-filter: grayscale(100%); /* Chrome, Safari, Opera */ filter: grayscale(100%); } filter 属性定义了元素(通常是<img>)的可视效果(例如:模糊与饱和度)。 浏览器支持: grayscale(): 将图像转换为灰度图像。值定义转换的比例。值为100%则完全转为灰度图像,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0。 来看一下效果: 可以看到,网页中的图片、css样式、视频都已经变灰。 三、IE浏览器 上面所说的css3属性IE浏览器并不支持,其实这样做已经覆盖了大部分浏览器 filter: gray; 这个属性直接加载html上是不管用的,如果需要图片变灰可以只将样式作用于img标签,或者用*通配符作用于所有元素,这样整个网站就会变灰。 经测试,在IE7-9都是没问题的,IE9以上不能生效。 四、通用方案 如果你执意所有的浏览器都有这个效果,可以通过Greyscale.js实现: 在页面引入js文件: <script src=

谷歌技术专家关于JavaScript的一个引人注目的观点

若如初见. 提交于 2021-01-13 12:41:29
谷歌的一位技术专家曾经和我分享过关于 JavaScript 的一个引人注目的观点:它不是真正的内聚编程语言——至少不是正式意义上的内聚编程语言。 ECMA-262规范定义了JavaScript,但没有一个真正的实现。更重要的是,这种语言远非封闭的。 它游走在一个名副其实的相邻规范的海洋中,这些规范管理着 JavaScript 涉及的所有 api: DOM、网络请求、系统硬件、存储、事件、文件、加密,以及数百种其他规范。Web浏览器及其各种 JavaScript 引擎都按照它们认为合适的方式实现这些规范。 Chrome 有 Blink/V8, Firefox 有 Gecko/SpiderMoney, Safari 有 WebKit/JavaScriptCore。 浏览器将以符合规范的方式运行几乎所有的 JavaScript,但 web 上到处都是每种浏览器特性的示例。因此,JavaScript被更准确地描述为一组浏览器实现。尽管 web 纯粹主义者可能坚持认为 JavaScript 不应该是 web 页面的组成部分,但他们必须承认,如果没有它,现代 web 将会严重退化。 可以毫不夸张地说,JavaScript 实际上是不可避免的:手机、电脑、平板电脑、电视、游戏机、智能手表、冰箱,甚至汽车现在都有运行 JavaScript 的 web 浏览器

python 爬取bilibili 视频弹幕

独自空忆成欢 提交于 2021-01-12 10:01:41
1 # -*- coding: utf-8 -*- 2 # @author: Tele 3 # @Time : 2019/04/09 下午 4:50 4 # 爬取弹幕 5 import requests 6 import json 7 import os 8 from lxml import etree 9 10 11 def main(): 12 headers = { 13 " User-Agent " : " Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 " , 14 } 15 # av13197279 16 url = " https://api.bilibili.com/x/web-interface/view?aid=13197279 " 17 response = requests.get(url, headers= headers) 18 if response.status_code == 200 : 19 cid = json.loads(response.content.decode())[ " data " ][ " cid " ] 20 print ( " cid: " ,