用电子邮件链接替换所有特定文本
Replace All Specific Text With Email Link?
我正在尝试将特定文本CONTACTUSEMAIL
的所有实例转换为电子邮件链接。这就是我尝试的:
$('body').each(function(){
var AddEmailLink = $(this).html().replace(/(CONTACTUSEMAIL)/, '<a href="mailto:contact@contact.com">contact@contact.com</a>');
$(this).html(AddEmailLink);
});
$('body').each(function(){
var AddEmailLink = $(this).html().replace(/(CONTACTUSEMAIL)/, '<a href="mailto:contact@contact.com">contact@contact.com</a>');
$(this).html(AddEmailLink);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
CONTACTUSEMAIL
它有效,但并非没有错误。它的chrome控制台显示"Uncaught SyntaxError:Unexpected token)",还显示"主线程上的同步XMLHttpRequest因其对最终用户体验的有害影响而被弃用。"。
我该怎么解决这个问题?
您提到的错误不是由您的regex 引起的
Synchronous XMLHttpRequest on the main thread is deprecated
是由使用async:false
的ajax请求引起的,而该请求本应使用promises
,并且很可能是同一请求正在接收无效或空响应,导致Uncaught SyntaxError: Unexpected token )
或者,另一个原因可能是您正在替换页面正文的全部内容,如果页面正文包含任何script
标记,当您将其重新附加到内容时,jQuery会将脚本标记附加到文档中,并将导致其加载async:ffalse的脚本并触发此警告
如果第二种情况是真的,您将需要将所有脚本标记移出正文,或者更改逻辑以不替换整页正文
此外,您的正则表达式应该是/CONTACTUSEMAIL/
。这些括号正在创建捕获组。。。。。但在这种情况下,它是一个无用的捕获组
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 使用angularjs验证文本框中的电子邮件
- php&js-将电子邮件添加到输入文本中
- 如何使用JavaScript将链接文本添加到电子邮件中
- 如何在不干扰电子邮件通知的情况下将眼镜保存在文本文件中
- 在文本区域检查电子邮件数据时出现奇怪的jquery错误
- jquery电子邮件提取器实时从文本区域
- 电子邮件和手机号码验证在同一html5文本框与按钮
- onblur文本框生成电子邮件已存在于数据库中的警报
- 如何在文本字段Appcelerator中输入文本后验证电子邮件
- Regex Groups-选择电子邮件地址前的文本
- 如何根据电子邮件模板名称的选择创建依赖的同义词文本区域
- 用电子邮件链接替换所有特定文本
- 如何通过电子邮件发送带有粗体文本的 Google 表单数据
- 使用 Javascript 解析电子邮件源的文本/html 部分
- 在一个文本框中验证几封电子邮件
- jQuery从文本区域中选择所有电子邮件
- 使用 MailApp.sendEmail 格式化正文电子邮件文本的替代方法
- 从网页发送文本/电子邮件到智能手机
- 无法用GMAIL API发送富文本电子邮件