JavaScript有用的超链接
>您在那里很乐意浏览一个网站;您单击一个链接,突然发现自己在另一个网站上下载文件。那里发生了什么?烦人,不是吗?必须有一种更好的方法向您的访问者指示链接要去的地方以及哪种类型的文件。因此,为了帮助解决这个小小的烦恼,我写了一些JavaScript和CSS,这些JavaScript和CSS在链接之后添加了很小的图标(取决于文件扩展名和位置),以向用户指示他们将要加载的文档的类型。
>
钥匙要点- >文章提供了JavaScript和CSS解决方案,可在超链接旁边添加图标,指示链接导致的文件类型或链接导致外部站点。该解决方案旨在通过提供清晰的视觉提示来增强用户体验。
- >该解决方案设计为简单,易于使用,并且与包括IE6在内的所有现代浏览器兼容。当禁用CSS或JavaScript时,它会优雅地降低,并将文件使用限制为一个JavaScript文件和一个CSS文件。
> 该解决方案涉及创建JavaScript文件(ikonize.js)和CSS文件(ikonize.css)。 JavaScript文件确定每个超链接的文件扩展名,并添加适当的CSS类和图标。 CSS文件包含图标类。 - > >解决方案有局限性:它不识别基于查询字符串的导航链接,并且链接必须具有文件扩展名才能分配图标(除非它是外部站点)。如果CSS被禁用,仅将显示外部链接图标,并且JavaScript被禁用,则页面没有可见的更改。
- 简短
>简单性 - 必须易于使用
- >
- 优雅的退化 - 在CSS或/和JavaScript被禁用的情况下 最小使用文件 - 只有一个JavaScript和一个CSS文件
- > >使其尽可能地插入插件 - 因此可以快速添加到网站
- 限制代码的整体量
- 与所有现代浏览器(包括IE6
- >
- > >您已经可以使用属性选择器在CSS中执行此操作。这是一个示例:
)的兼容性
为什么要从仅CSS的解决方案转移?
>那么,当大多数现代浏览器都使用CSS显示图标时,您为什么要使用脚本?
答案很简单:IE6。所有体面的浏览器都支持CSS3属性选择器…除了IE6。 CSS的这一点脚本使IE6发挥得很好。实际上,它甚至可以在IE5.5。灵感和信用
>在开始之前,我想承认Mark James在Famfamfam上的优秀和免费的丝绸图标,我们将在本文中使用。
>
>此外,值得信用的信用:本文的灵感来自亚历山大·凯撒(Alexander Kaiser)与CSS的Iconize TextLinks的启发,这反过来又受到了CSS Guy与CSS展示超链接提示的启发。此外,我使用了Sitepoint自己的詹姆斯·爱德华兹(James Edwards)撰写的几个出色的功能,还有一些从凯文·扬克(Kevin Yank)和卡梅伦·亚当斯(Cameron Adams)撰写的核心JavaScript库中,并在SitePoint Book中不朽,只需JavaScript。
那么如何工作?>
嗯,简而言之:我们采用页面中的所有链接,计算出链接到的文件扩展名,然后在链接之后添加适当的图标。好的。为使其全部起作用,涉及三个文件:
>
- html页面包含链接,index.html
- >
css文件包含图标类,ikonize.css - 快速启动方法
>将CSS类和图标添加到链接的JavaScript文件,
现在,如果您想避开何处和位置,并且只想将其添加到您的页面中,则是简短的版本:
- >在页面标题中将链接添加到JavaScript和CSS文件(更改文件引用以适合您的站点设置)。
- >
>将您的图标文件夹放在您的网站上,并确保在ikonize.css文件中正确的URL引用。
- >
-
看到 - 我告诉过你这很容易使用!
为了简单起见,我选择了DOM加载后从HTML中调用该功能。还有其他方法可以使用JavaScript实现此目的,但它们超出了本文的范围。
>从脚本标签中呼叫JavaScript函数ikonize在关闭的主体标签之前包含的脚本标签,例如:
让自己感到舒适,我们将深入研究内部的工作。
配置
>以保持简单的精神,大多数设置已经为您完成。如果需要更改图标或文件扩展名,则只需更改配置即可。有两个可以进行这些更改的地方:JavaScript(ikonize.js)和CSS文件(ikonize.css)。
> configure ikonize.js在文件顶部,您会看到所有配置变量:classprefix,classexternal和classiconloc。
哪些链接将收到图标?
>
要定义链接所输入的文件类型,我们将查看文件扩展名。文件类型分为两组:具有唯一图标的文件,例如洪流文件,以及将共享相同图标但具有不同文件扩展名的那些图标,例如flash文件(.fla和.swf)。
>分组分组的共享相同图标的文件扩展名可以为您节省数百个CSS类和图标。为了实现这一目标,我创建了两个阵列。>第一个数组,单个ClassArray,将所有链接的文件扩展包含单个图标。 CSS类名称的基础与文件扩展名相同。也就是说,文本文件用“ txt”引用,CSS类名称是ClassPrefix(较早设置)和“ TXT”基础CSS类名称,在这种情况下,将CSS类称为“ IKON_TXT”。
第二个数组,ClassArray实际上是一个多维阵列,但不要让您失望。基本上,这是根据我们想使用的图标类型进行分组的一组单独阵列。此数组中的第一个项目是单个ClassArray(此数组必须始终是第一个数组)。以下数组与先前的数组相似,其中一个重要区别:每个数组中的第一个项目是将要使用的CSS类的名称,以下项目是需要该类的文件扩展名。在下面的示例中,.swf和.fla文件扩展名将与“ flash” CSS类关联。
a[href$='.doc'] { <br> display: inline-block; <br> padding-left: 16px; <br> background: transparent url(images/icon_doc.gif) center right no-repeat; <br> }
注意:文件扩展名排除点,即xls而不是.xls。
classPrefix is the prefix you want to give the individual CSS classes. Use this to prevent any conflicts with any existing CSS classes. The default is iKon_.
为了最大的可移植性,实际使用的CSS类名称将具有一个前缀,例如“ ikon_”,我们先前配置了,但是在这些数组中,我们
>外部链接
>要确定链接是否是外部站点,我们需要知道当前页面的主机名。为此,我们使用:
>这是当前文档的位置,并使用合格Href功能获取域名,以确保我们具有完全合格的地址和Parseurl功能以获取主机名。 (这两个功能都是由我们的居民JavaScript Guru,BrotherCake撰写的,并在他的博客文章中涵盖了)。 稍后,当我们为外部链接添加类时,我们将使用此主机名来确定该链接是否在我们的网站外部。
实际上完成工作的代码
>classExternal is the name of the CSS class you want to use to show a link to an external site.
我们通过再次使用parseurl并再次使用限定性来执行此操作。
首先,以a元素的href值:
linkhref = aelements [iv] .href;接下来,解析值以获取有关链接的更多信息:
> ourl = parseurl(premifyhref(linkHref));
然后获取链接的扩展名:
fileext = ourl.extension;
a[href$='.doc'] { <br> display: inline-block; <br> padding-left: 16px; <br> background: transparent url(images/icon_doc.gif) center right no-repeat; <br> }
>
>要找出是否需要添加图标,我们将将链接的文件扩展与数组中列出的每个扩展名进行比较。
classPrefix is the prefix you want to give the individual CSS classes. Use this to prevent any conflicts with any existing CSS classes. The default is iKon_.
classExternal is the name of the CSS class you want to use to show a link to an external site.
>解决链接是否与外部站点的链接只是一种比较我们先前在配置区域中设置的URL确定的URL主机名的情况。
如果是真的,我们将在锚点中附加一个新的图像元素,添加源和ID,然后为图像添加一个alt and Title属性。我们添加了额外的图标,而不仅仅是分配一个类以清楚地表明此链接已列为另一个站点,并在图标中添加标题和alt属性。
externalIconLoc is the location of the image to use for the external icon.
CSS类
IndividualClassArray = Array('txt', 'xls', 'css', 'torrent');
现在回到CSS文件。
>这是我们的CSS类,将图标添加到.doc文件中。请注意,类名称为“ ikon_”,然后是文件扩展名为“ doc”。该课程基本上在顶部和底部以及链接的右侧放了一点填充物。然后,它将图标的背景图像添加到该空间中。
对于我们的外部链接图标,我们将使用略有不同的类结构。我们添加一些填充顶部和底部以确保我们的图标无边界。
classArray = Array( <br> IndividualClassArray, <br> Array('flash', 'swf', 'fla') <br> );
如果您更改了ClassPrefix变量,请不要忘记更改这些类名称以匹配。
url = parseURL(qualifyHREF(document.location.href)).hostname;
限制
>该链接必须具有文件扩展名才能将图标分配给链接(除非是外部站点)。该脚本还无法识别基于查询字符串的导航链接。如果CSS被禁用,则只会显示外部链接图标,如果禁用JavaScript,则页面没有可见的更改。
结论
ikonize是一种快速简便的方法,可以在链接后添加视觉上有意义的图标。该脚本在IE5.5中起作用,可以独立于CSS3属性选择器工作。如您所料,该脚本降低了良好,并且很容易配置。希望您发现它有用!
>>关于JavaScript中的超链接的常见问题
>如何使用JavaScript?
创建超链接,使用JavaScript创建超链接涉及操纵文档对象模型(DOM)。您可以创建一个新的锚点元素,设置其HREF属性,然后将其附加到文档正文上。这是一个简单的示例:
var link = document.createelement('a'');
link.href =“ https://www.example.com”;
link.textContent =“ go xplox example.com”;我们要链接到的页面的URL。然后,我们设置链接的文本,最后将链接附加到文档正文。
>
>如何使用JavaScript?
link.href =“ https://www.example.com”;
链接>属性设置为“ _blank”,这意味着该链接将在新窗口或选项卡中打开。
>我如何使用JavaScript?
>使用“标题”属性添加超链接标题。此属性提供了有关链接的其他信息,例如链接文档的名称,并且当鼠标在链接上移动时通常以工具提示表示。以下是一个示例:
var link = document.createelement('a'');
link.title =“ good example.com” to xpecess.com”; to示例设置为“转到示例”,当鼠标在链接上移动时,将显示为工具提示。
>>如何使用JavaScript?
如何使用“ removeChild”方法删除超链接。此方法删除了指定元素的指定子节点。这是一个示例:
var link = document.getElementById('myLink');
link.parentnode.removechild(link);
在此代码中,我们首先通过其ID获取链接元素,然后从其父节点中删除它。
>如何使用JavaScript?
更改超链接的文本?此属性设置或返回指定节点的文本内容及其所有后代。以下是一个示例:
var link = document.getElementById('myLink');
link.textContent =“新链接text”;
在此代码中,我们首先通过其ID获取链接,然后将其文本内容更改为“新链接”。 “样式”属性。此属性用于从元素添加,更改或删除内联样式。这是一个示例:
var link = document.getElementById('mylink');
link.style.color =“ red”;link.style.style.fontsize =“ 20px”;
>使用“ AddeventListener”方法将事件侦听器添加到超链接中。此方法将事件处理程序附加到指定元素。以下是一个示例:
var link = document.getElementById('myLink');
});
});}); 在此代码中,我们首先通过link exter a单击“”事件,然后将事件连接到一个事件,然后将其附加到事件。当单击链接时,将显示一个警报框。
>
>如何防止超链接使用JavaScript使用JavaScript?
var link = document.getElementById('myLink');
link.addeventListener('click'click',function(event){
>
>如何创建一个使用JavaScript下载文件的超链接?
>
>
下载可以使用“下载”属性创建文件的超链接。此属性指定当用户单击超链接时,将下载目标。以下是一个示例:
var link = document.createelement('a'');
在此代码中,我们首先创建一个新的锚点元素,然后将其HREF属性设置为我们要下载的文件的URL。然后,我们将下载属性设置为文件的名称,最后将链接附加到文档正文中。
>如何创建一个超链接,该超链接使用JavaScript打开电子邮件客户端?
>可以使用HREF属性中的“ MailTo:”协议创建电子邮件客户端的超链接。该协议通过一条新消息打开用户的电子邮件客户端,可以发送。以下是一个示例:
var link = document.createelement('a'');
link.href =“ mailto:example@example.com”;
link.textcontent =“ emage me”; emage me';
document.body.body.body.appendchild.appendchild(link); link); link); 我们首先创建一个新的锚点,然后设置其设置HER, “ mailto:example@example.com”。然后,我们设置了链接的文本,并最终将链接附加到文档正文。
以上是JavaScript有用的超链接的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

JavaScript不需要安装,因为它已内置于现代浏览器中。你只需文本编辑器和浏览器即可开始使用。1)在浏览器环境中,通过标签嵌入HTML文件中运行。2)在Node.js环境中,下载并安装Node.js后,通过命令行运行JavaScript文件。
