Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >修复Javascript中的常见URL错误

修复Javascript中的常见URL错误
EN

Stack Overflow用户
提问于 2012-03-01 19:37:05
回答 2查看 120关注 0票数 1

我有一个Chrome扩展,允许用户输入URL。有时用户遗漏了"http://"。如果没有完整的URL,Chrome似乎会假设链接是扩展名中的本地文件。

目前我的解决方案是:

代码语言:javascript
代码运行次数:0
复制
    var http_temp = $(this).attr("href");
    if($.trim(http_temp).substr(0, 4)!="http"){
        $(this).attr("href", "http://"+$(this).attr("href"));
    }

有没有更好的方法来解决这个问题?我该如何检测URL中最常见的错误? regex或其他什么更好?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-03-01 19:43:19

这听起来很不错,当然,没有https,但我也不确定如何解决这个问题。

也许,您还可以使用以下命令检查链接是否存在

代码语言:javascript
代码运行次数:0
复制
function UrlExists(myUrl) {
    var http = new XMLHttpRequest();
    http.open('HEAD', myUrl, false);
    http.send();
    return http.status != 404;
}
票数 0
EN

Stack Overflow用户

发布于 2012-03-01 20:02:53

你可以试试这个,它应该能检测到大多数协议(不仅仅是http):

代码语言:javascript
代码运行次数:0
复制
if( !(/^\w{3,5}\:\/\//i.test(url)) ) {
    url = 'http://'+url;
}

可能有更复杂的协议检测,但这适用于最常见的协议检测。

如果假设所有用户都输入了http协议,那么另一个选择是:在输入之前打印出协议如何?这样,用户就知道协议将被添加。这是一种常见的可用性实践:

代码语言:javascript
代码运行次数:0
复制
http://<input type="text">

然后,如果用户进入一个协议,它很容易被检测和剥离:

代码语言:javascript
代码运行次数:0
复制
url = 'http://'+url.replace(/.*:\/\//,'');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9522768

复制
相关文章
避免这些常见的JavaScript错误
在今天,JavaScript是最流行的编程语言之一,如果你希望钻研JavaScript,这里有几个需要避免的问题
疯狂的技术宅
2019/03/28
6380
10 种最常见的 Javascript 错误
英文:SKOWRONSKI 译文:elevenbeans elevenbeans.github.io/2018/02/05/top-10-javascript-errors/ 为了回馈我们的开发者社区,我们查看了数千个项目的数据库,发现了 JavaScript 中频度最高的 10 种错误。我们会告诉你什么原因导致了这些错误,以及如何防止这些错误发生。如果你能够避免落入这些 “陷阱”,你将会成为一个更好的开发者。 数据才是王道,我们收集并分析了出现频次排前 10 的 JavaScript 错误。 Rollb
前端教程
2018/03/05
6.8K0
10 种最常见的 Javascript 错误
5个常见的JavaScript内存错误
JavaScript 不提供任何内存管理操作。相反,内存由 JavaScript VM 通过内存回收过程管理,该过程称为垃圾收集。
前端小智@大迁世界
2022/06/15
1.4K0
5个常见的JavaScript内存错误
10 种 JavaScript 最常见的错误
查看了数千个项目后,发现了 10 个最常见的 JavaScript 错误。我们会告诉你什么原因导致了这些错误,以及如何防止这些错误发生。如果你能够避免落入这些 “陷阱”,你将会成为一个更好的开发者。
小生方勤
2019/06/26
8.6K0
10 种 JavaScript 最常见的错误
用javascript替换URL中的参数值
今天遇到一个需要用javascript将url中的某些参数替换的需求,想起了不久前从司徒正美先生的博客中淘到了一个parseUrl函数,正好可以借此实现,代码整理如下: //分析url function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol:
菩提树下的杨过
2018/01/22
3.3K0
7种你应该知道的JavaScript常见的错误
我们有一个带有两个元素的arr。接下来,我们尝试使数组包含90**99 == 2.9512665430652753e+193元素。
葡萄城控件
2020/03/19
2.6K0
Javascript中的url编码与解码(详解)
摘要 本文主要针对URI编解码的相关问题做了介绍,对url编码中哪些字符需要编码、为什么需要编码做了详细的说明,并对比分析了Javascript中和编解码相关的几对函数escape / unescap
Angel_Kitty
2018/04/17
2.9K0
JavaScript 中 this 的错误认识、绑定规则、常见问题讲解
相信 Javascript 中的 this 会使很多同学在工作学习中产生困惑,笔者也同样是,经过阅读各种资料及实际工作中的应用,做了以下梳理,主要内容包括长期以来大家对 this 的错误认识及 this 的绑定规则,箭头函数、实际工作场景中遇到的问题,希望对于有此困惑的你能有所帮助。
五月君
2020/08/06
6040
Python中5个常见的错误
执行python utils.py,程序会执行print_hello(),输出语句hello!。
一只大鸽子
2023/02/24
1.1K0
Python中5个常见的错误
JavaScript中的常见的排序算法
1. 冒泡排序 // 冒泡排序 function bubbleSort(arr){ // 外层循环控制轮数r for(var r=1;r<arr.length;r++){ // 内层循控制下标i for(var i=0;i<arr.length-r;i++){ // 如果i的值大于i+1的值 if(arr[i]>arr[i+1]){ arr[i]^=arr[i+1];
越陌度阡
2022/11/27
3370
[PHP] PHP 7.4.5的错误修复
PHP 7.4.5的错误修复 修复了错误#79364(复制空数组时,未指定下一个键)。 修复了错误#78210(无效的指针地址)。 curl: 修复了错误#79199(curl_copy_handle()内存泄漏)。 Date: 修复了错误#79396(DST向前跳转时,DateTime小时不正确)。 修复了错误#74940(DateTimeZone松散比较始终为true)。 FPM: 实现需求#77062(允许FPM监听数字[UG] ID。{owner,group})(Andre Nathan) Iconv: 修复了错误#79200(某些iconv函数截断Windows-1258)。 OPcache: 修复了错误#79412(Opcache阻塞并在特定脚本上造成100%CPU)。 session: 修复了错误#79413(session_create_id()对于活动会话失败) Shmop: 修复了错误#79427(shmop_open()中的整数溢出)。 SimpleXML: 修复了错误#61597(SXE属性可能缺少属性和内容)。 soap: 修复了错误#79357(缺少任何请求参数时SOAP请求段错误)。 Spl: 修复了错误#75673(SplStack :: unserialize()行为)。 修复了错误#79393(空合并运算符因SplFixedArray失败)。 标准: 修复了错误#79330(shell_exec()在空字节后会自动截断)。 修复了错误#79410(如果恰好是4095字节且没有换行符,system()会吞下最后一个块)。 修复了错误#79465(OOB读取urldecode())。(CVE-2020-7067) zip: 修复了错误#79296(ZipArchive :: open在空文件上失败)。 修复了错误#79424(调用globfree后php_zip_glob使用gl_pathc)。
唯一Chat
2020/04/24
1.6K0
GTID复制错误的修复
show slave status的报错信息如下: Last_SQL_Error: Error '@@SESSION.GTID_NEXT cannot be set to ANONYMOUS when @@GLOBAL.GTID_MODE = ON.' on query. Default database: ''. Query: 'CREATE TABLE IF NOT EXISTS infra.chk_masterha (`key` tinyint NOT NULL primary key,`val` int(10) unsigned NOT NULL DEFAULT '0') engine=MyISAM'
jeanron100
2019/05/15
2.5K0
GTID复制错误的修复
JavaScript 开发中常见错误解决小总结
身为一名前端打工人,当然是经验越多,在排查错误时会更容易。道理都懂,但仍然会在遇到问题时会不知道怎样着手。
疯狂的技术宅
2020/11/11
3.1K0
JavaScript 开发中常见错误解决小总结
JavaScript函数认识,Js中的常见函数
JavaScript函数: 也称为方法,用来存储一块代码,需要的时候调用。 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。 函数需要包含四要素:返回类型,函数名,参数列表,函数体 拓展:强类型语言的函数 public int Sun(int a,int b){ return = a+b; } return返回,Sun函数名,int a,int b,参数列表,int 整型。 没有返回值的函数: public void Sun(int a,int b){ } Sun(1,2); 这样的参数
二十三年蝉
2018/02/27
3K0
JavaScript函数认识,Js中的常见函数
【原译】javascript中的错误处理
IMWeb前端团队
2018/01/08
2K0
【原译】javascript中的错误处理
javascript 操作 url 中 search 部分方法函数
首先,我们需要知道什么是 search , search 是 window.location 的一个属性.举个例子:
FungLeo
2022/05/05
8790
javascript 操作 url 中 search 部分方法函数
【原译】javascript中的错误处理
A Guide to Proper Error Handling in JavaScript
IMWeb前端团队
2019/12/04
1.5K0
【原译】javascript中的错误处理
JavaScript中的错误处理机制
在写代码的时候,避免不了遇到各种各样的错误,遇到错误,BUG,我们需要尽快的解决,才能不拖累工作的进度,我们一般都会百度错误如何解决,但是遇到一些针对性错误以及百度方法不管用的情况下,就需要了解错误处理机制了。
刘亦枫
2020/03/19
2K0
任意URL跳转漏洞修复与JDK中getHost()方法之间的坑
漏洞简单介绍:服务端未对传入的跳转URL变量进行检查和控制,导致可恶意构造任意一个恶意地址,诱导用户跳转到恶意网站。由于是从可信的站点跳转出去的,用户会比较信任,所以跳转漏洞一般用于钓鱼攻击,通过转到恶意网站欺骗用户输入用户名和密码盗取用户信息,或欺骗用户进行金钱交易。
京东技术
2019/05/05
2.3K0
任意URL跳转漏洞修复与JDK中getHost()方法之间的坑
点击加载更多

相似问题

C++中的常见错误和修复

32

如何修复jQuery中的这个常见错误?

40

修复JavaScript中的URL

127

JavaScript中的常见错误消息

20

修复JavaScript中的URL

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文