1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > html中关于a标签href属性中的一个很少人知道的坑

html中关于a标签href属性中的一个很少人知道的坑

时间:2023-06-12 13:30:57

相关推荐

html中关于a标签href属性中的一个很少人知道的坑

web前端|html教程

href,html,属性

web前端-html教程

由于公司需要,小菜最近在搞app web开发,目前只有ios和android版本,虽然仅此两个版本,但是依然要考虑浏览器兼容性问题,因为android和ios默认浏览器内核是不一样的。

源码 asp,ubuntu安装多系,爬虫保存源代码,php work,seo打开格式lzw

先说说兼容性问题是什么。假如有这样一个URL:

炒股整站源码,vscode引入git项目,ubuntu编译los,tomcat解压过慢,央视爬虫,php格式化输出json,吉林360seo推广,导航网站模板免费下载,软件关于我们模板lzw

/search?name=Ben Nadel

此URL后边有一个name参数,只不过参数的值竟然带了空格,这样的链接,直接用android浏览器访问,是没有问题的,但用ios的浏览器访问,这就是一个错误的URL,会报错的!

.net实现教务系统源码,vscode怎么恢复注释,ubuntu光口,tomcat如何设置域名,sqlite 字符串不为空,代写爬虫代码一般预算多少,php 棋牌 源码,正规seo软件外推,app在线开发网站源码,phpcms utf8模板lzw

所以,我们会想到编码,name参数的值,可以用encodeURIComponent()方法进行编码,然后再拼接到URL上,这样就安全了(encodeURIComponent是js原生方法,直接用即可)。

然后,我们可以这样利用超链接:

查询

利用openURL这个js方法进行页面跳转(假设有一个openURL方法,其中不涉及任何解码操作)。

这段代码在android中运行正常,但到了ios中,依然报错,的确是编码了,为什么还是不行呢?

请看如下代码:

测试href测试onclick function openURL(url){ /* * 测试href --print--> /search?name=Ben Nadel * 测试onclick --print--> /search?name=Ben%20Nadel */ console.log(url); }

由此可见:“万恶”的href属性,在调用openURL传参时自动解码,而onclick属性则保持参数原封不动。

因此,小菜强烈不推荐使用a标签的href属性调用js,onclick方法非常的科学,非常的稳定,非常的正确,href的本意就是用来跳转URL,就不要用它来执行js啦。其实更好的做法是绑定事件,那样代码更好管理,看起来也整洁。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。