将用户提交的外部链接属性转换为在新窗口中打开
Convert user submitted external link attributes to open in a new window
加载页面时,是否可以通过更改目标属性,强制链接在新窗口/选项卡中使用javascript打开,但仅限于外部链接?
编辑:
有更好的方法吗。
有人有我写代码时可以使用的例子吗?
是的,这是可能的。用户浏览器偏好仍然会胜出,但如果你想在页面加载时更改链接的默认目标属性,你可以调用这样的函数onload
:
function updateLinkTargets() {
var links = document.getElementsByTagName("a");
for (var i=0;i<links.length;i++) {
var thisDomain = new RegExp("^"+window.location.protocol+"//"+window.location.host);
links[i].target = thisDomain.test(links[i]) ? "_self" : "_blank";
}
}
希望这能有所帮助。
是的,这是可能的。但是,用户的浏览器设置仍将覆盖任何指示其他情况的链接行为。
例如。如果链接指示应该从外部打开,但用户已将浏览器设置为在同一窗口/选项卡中打开所有链接,则用户的设置将胜出,并且该链接将不从外部打开。
相关文章:
- 手柄'img'单击事件并插入'alt'使用jQuery将属性转换为文本框
- Javascript将数组中对象的属性转换为字符串
- 如何将返回一串数字的 JSON 属性转换为日期
- undescoreJS - 将对象属性转换为数组
- 如何在JavaScript中将JSP请求属性转换为字符串并将其分配给对象
- 如何将字符串中的链式属性转换为javascript中的变量
- 如何将外部 css 属性转换为内联属性
- JS - 将字符串从数据属性转换为对象
- 错误:缺少类属性转换
- 将 camelCaseWords 从数据属性转换为“骆驼案例词”
- 在 TypeScript 中从 DOM 属性转换为枚举
- Javascript将NaN字符串属性转换为可用数字
- Html将5个数据属性转换为jquery插件选项格式
- Node.js将对象的所有属性转换为字符串
- 可以将对象属性转换为自己的对象
- 将某些observableArray对象属性转换为observable
- 将HTML名称属性转换为Javascript对象
- 用逗号分隔的属性转换为带下划线或长划线的实际属性
- 将用户提交的外部链接属性转换为在新窗口中打开
- 如何从图像中复制URL's src属性转换为jQuery中的href属性