通过JS来查询系统

通过JS来查询系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script type="text/javascript">
var u = navigator.userAgent,
app = navigator.appVersion;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
// alert('是否是Android:'+isAndroid);
// alert('是否是iOS:'+isiOS);
if(isAndroid){
document.getElementById('email').href = "javascript:android_email()";
alert("这是安卓系统");
} else if (isiOS) {
document.getElementById('email').href = "mailto:service@sleepon.us?subject=Hello SleepOn &body=Hello Sleepon"
alert("这是ios系统");
} else {
document.getElementById('email').href = "这是win"
alert("这是Win系统")
};

function android_email(){
//window.location.href="protocol://h5?event=android_email"
alert('安卓触发成功')
};
</script>

html的 a 标签点击触发js函数的3种方法

html的 a 标签点击触发js函数的3种方法

方法1<a href="" onclick="fun()">我是a标签</a>
方法2<a href="javascript:fun()">我是a标签</a>
方法3<a id='fun' >我是a标签</a>然后用js的都没选择器选择这个ID.
document.getElementById('fun').click(function(){ fun(); });

如果你想要用JS来实现点击a标签的跳转效果。

那么你不能直接对a标签执行click()函数

因为实际上,只有点击a标签中的文字,才能触发跳转。

知道了这一点,我们只需对a标签中的文字执行click函数就可以达到目的

1
2
3
<a id="tagA" href="http://www.hello.com"><span>hello</span></a>
……
$("#tagA span").click();//这样就可以达到跳转到的效果,仅仅$("#tagA").click();是不会跳转

NodeJs 学习笔记01

PM也需要学Nodejs么?

作为一名合格的PM,除了基本的需求管理,对于产品的开发的技术点也是非常重要的.至少知道产品开发的工作原理,什么是框架,什么是前后端分离,什么是数据库范式等等.
所以作为一名半路出家的PM,学习好后端的原理就意义非凡了.

Nodejs 是干什么的?

一句话概括就是:从基于Chrome V8引擎下的javascript运行环境,它从浏览器的环境中剖离开来,进入到后端开发的领域.

安装node

可以在官网安装

验证node安装效果:
node -v
验证npm安装:
npm -v

如果能成功打印出版本号,则表示安装成功.

vue+express 环境搭建

vue+express 环境搭建

该项目是在学习vue过程中,秉着前后端分离的态度,尝试着自己搭建vue+express环境

搭建vue项目
安装vue-cli脚手架
npm install -g vue-cli
1
创建基于webpack模版的项目
vue init webpack firstapp
1
安装包依赖并运行

firstapp
1
2
npm install
npm run dev

在浏览器上输入localhost:8080,这就是一个完整的基于vue-cli脚手架的项目。

那么怎么样集成进express呢?我们接着往下看。

集成express
修改文件结构

将src文件夹修改为client
将webpack.base.conf.js内的src地址修改为client
根目录下新建一个文件夹,命名为server

server目录下新建一个文件,命名为app.js

安装express

npm install express --save

server目录下新建一个文件夹,命名为routes

app.js中启动服务器,代码如下:

express
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var fs = require('fs');
var path = require('path');
var bodyParser = require('body-parser');

var app = express();

// 注册users接口
var users = require('./routes/users');
app.use('/users', users);

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));

// 访问静态资源
app.use(express.static(path.resolve(__dirname, '../dist')));

// 访问单页
app.get('*', function (req, res) {
var html = fs.readFileSync(path.resolve(__dirname, '../dist/index.html'), 'utf-8');
res.send(html);
});

// 监听
app.listen(8081, function () {
console.log('success listen...8081');
});

打包
npm run build
node server/app.js

搭建过程参考文章:https://julytian.github.io/2017/04/06/vue%E4%B8%8Enode%E7%BB%93%E5%90%88%E5%BC%80%E5%8F%91%E9%83%A8%E7%BD%B2/

示例代码已经推到github上,地址:https://github.com/minteliuwm/FirstApp

NodeJs - Express学习资源

NodeJs - Express学习资源

源宝,视频课程+文章老师按部就班的讲,虽然没啥激情,不过有些知识点还是讲到了的.

node+express+mongDB实现简单登录注册登陆注册的实例

Node.js基于express搭建注册登录功能

Node.js 实战:Express 实现简单后台登录系统

后台:nodejs + express 前台:vue + vuex 全栈项目 源码分享实现饿了么的全站APP 开源实例

使用express+vue的个人博客系统

express 实战一套非常推荐的系列文章.

express 学习

学习express框架的一些笔记.

安装express 有两种方式

  1. 全局安装:
    npm install express

2 .生成器安装
npm install -g express-generator
使用生成项目

express project在当前目录下生成了一个project的目录,目录中有已经生成的项目文件

使用npm install安装需要的构建包

‘npm install body-parser’ 安装一个body parser的 第三方解析器.

Hello World

Python 自学笔记

Python程序的运行规则

  1. 需要安装Python解释器。MAC系统默认安装2.7版本.
  2. 在程序相应文件夹下面输入Python XX.py即可运行.(Mac下面如果使用Python3执行.py程序需要输入Python3 xx.py)

直接运行Python程序

  1. Python可以可以变成可执行程序(在MAC和liunx环境下),需要添加注释#!/usr/bin/env python3
  2. 通过命令给XX.py文件以执行权限:chmod a+x xx.py
  3. 然后输入./xx.py就可以运行程序了.

输出函数:print ()

在Python3下,Print 后面一定需要加上括号()否则会报错.

输出字符串:
Print命令输出字符串时需要加上单引号或双引号'',否则程序会把括号内的字段识别成变量.如需输出多个字符串可以使用,逗号隔开,就可以连成一串输出了.

输出整数:
Print()可以直接输出整数或者计算结果.比如print (300+200)会输出500
所以可以这样写:

1
300+200= 500

###输入函数:input()
输入函数input会让用户自己输入比如name=input('输入你的名字: ')
运行后就会提醒用户输入名字,然后使用打印函数就可以输出了.

Python基本的语法

写Python程序时应该使用四个空格来缩进.另外Python是大小写敏感的所以写错了大小写就会报错.
当语句以冒号: 结尾时,视为代码块.

字符格式化

Python的字符格式化使用%来表示.
类似亲爱的用户您本月使用了xxx元的话费,剩余话费为xxx元这种类型都是使用字符格式化处理的.

格式化用法:
%d 表示整数格式.
%f 表示浮点数格式.
%s 表示字符串格式.
%x 表示十六位数格式.

1
2
开心今年%d 岁啦 %(3)
开心今年3 岁啦

浮点数和整数还可以补零和定义位数.比如

1
2
小明今年%2d岁啦 %(12)
小明今年 12岁啦

上面多了两个空格.

1
2
圆周率是%.3f %(3.1415926)
圆周率是3.141

当然也可以这样:
(如果需要出现%这个符号,就用两个%%表示:%%)

1
2
3
4
s1=100
s2=80
c=(s1-s2)
print('C的百分比是 %d%%'%c)

数据类型的转换

  1. int()函数可以把字符串转换成整数.
  2. float()函数可以把字符串转换为浮点数.
  3. str()可以把整数转换成字符串.

比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False

函数的调用

在Python中,有很多默认的函数,可以自行调用.
Python函数库文档

def 自定义函数

def是自定义函数的函数
在命令行python编辑器中写def(自定义函数)函数时,编辑器会返回...表示未完成的输入,这时候需要按两次回车才能返回.

需要注意的是:要按照严格的语法方式换行,否则就会报错.

1
2
3
4
5
def my_abs(x):
... if x >=0:
... return x
... else:
... return -x

上面这样就定义了一个my_abs的函数,这时候使用

1
my_abs ()

一个绝对值函数.

自定义函数的参数检查

参数检查可以使用内置函数isinstance() 来实现.
比如把上面的my_abs函数修改一下:

1
2
3
4
5
6
7
def my_abs(x):
if not isinstance(x, (int, float)):
raise TypeError('bad operand type')
if x >= 0:
return x
else:
return -x

这时候当my_abs函数输出不正确的参数类型,就会报错.比如上面的代码只可以输入int和float类型.

Hexo+gitbook搭建方法

如何开始?下面是一些参考文章从 0 开始搭建 hexo 博客MWeb配合Hexo高效管理博客开始新的折腾,Hexo博客Git-VPS部署完整记录Hexo搭建博客教程 服务器设置登陆VPS服务器:ssh root@IP 在VPS服务器上: 123yum updateyum install nginxyum install git 安装 Nginxsudo yum install nginx Nginx 安装完成后需要手动启动 sudo systemctl start nginx如果开启了防火墙,记得添加 HTTP 和 HTTPS 端口到防火墙允许列表。 1234$ sudo firewall-cmd --permanent --zone=public --add-service=http...

阅读全文

© 2018 Ken的博客 All Rights Reserved. 本站访客数人次 本站总访问量