Questions tagged «javascript»

JavaScript是标准化ECMAScript编程语言的方言,主要用于编写网页脚本。对于与ECMAScript及其方言/实现有关的问题,请使用此标记:JavaScript,JScript等,但ActionScript除外。

5
我应该担心人们禁用Javascript吗?
通常,在选择新工具和框架时,会看到警告“如果用户禁用了Javascript,将无法正常工作”。然后,我看一下我的Javascript幻灯片,Javascript菜单和Javascript画廊。有趣的是,由于担心会看到它们的人数,所以我选择了这些替代基于Flash的原始版本。 但是担心人们禁用Java脚本是否合理呢?我应该在设计网站时考虑禁用JS吗?

2
这是对SEO的“延迟加载”图像的好方法吗?
对于通过AJAX加载的图像,或者说,我不希望索引,使用数据- *属性的方法: <img data-src="path/to/image.jpg" class="js-lazy-load" /> javascript将data-src属性映射到src属性: <img src="path/to/image.jpg" /> 但是对于我确实希望索引的HTML中的图像: <a href="path/to/image.jpg" class="js-lazy-load">Image alt text here</a> JavaScript的替换锚与图片标签: <img src="path/to/image.jpg" alt="Image alt text here" /> 似乎可以保留索引功能和页面意图(用于可访问性),而又不影响SEO(希望如此)。但会喜欢第二意见。 编辑:关于此方法的任何反馈-具有图像链接的页面与具有内联IMG标签的页面-在页面排名方面的比较。我猜测内联IMG标签的效果会更好,因为每个传出的链接都会降低整体页面的排名(除非它们具有rel =“ nofollow”会适得其反)。
14 seo  google  javascript 



4
在每个页面上加载主要的javascript吗?还是将其分解为相关页面?
我有一个700kb解压缩的JS文件,它加载在每个页面上。在12每个页面上没有javascript文件但为了减少http请求之前,我将它们全部压缩为1 file。 该文件已~130kb gzipped送达gzip。但是,在本地计算机上,它仍然是解压缩的,并且已加载到每页上。这是性能问题吗? 我已经使用Firebug分析器对javascript进行了分析,但未发现任何问题。我面临的问题/幻想是该文件中压缩了一些jQuery库,这些库有时未在当前页面上使用。 例如,jquery datatables压缩为200kb,并且仅在我的网站页面中的2个页面上加载。另一个是jqplot,那是另一个200kb。 现在400kb,我有多余的代码未80%在页面上执行。 我应该将所有内容都保留在1个文件中吗? 我应该取出jquery库并仅在当前页面上加载相关的JS吗?

1
何时以及何时不使用CDN
我正在开发一个将几个小的gif图像加载到屏幕上的Web应用程序。我使用的是相对路径,这意味着它们是从提供php页面的同一Web服务器加载的。该操作是即时的,并且我与Web服务器不在同一大陆。 我刚刚为此CDN网络(Cloudfront)进行了测试,认为将静态文件移近用户是一个好主意。但是,所有这些文件现在需要半秒左右的时间才能在屏幕上呈现。我现在必须使用绝对路径,当然(https://xyzvf.cloufront.net/images/) 这是为什么?绝对路径有问题吗?我正在减少对自己服务器的HTTP请求,这是一件好事,但是这种延迟令人讨厌。CDN不适用于此吗?

5
开头部分引用的JavaScript是否应使用与主文档相同的主机名提供?
我的印象是,为了获得最佳性能,应将Javascript视为静态内容,并应从无cookie的域以及CSS文件,图像等提供服务。 但是Google在这里说:不要提供来自cookieless域的早期加载的外部JS文件 对于文档开头引用的JavaScript和页面启动所需的JavaScript,应从与主文档相同的主机名提供服务。由于大多数浏览器会阻止其他下载和渲染,直到所有JavaScript文件都已下载,解析和执行,因此最好避免在此处理时再进行DNS查找的风险。 所以现在我很矛盾。我不清楚“页面启动所需”是什么意思。 我通常有两个JavaScript引用,即ajax.googleapis.com提供的JQuery和$ .document.ready()函数中主要包含事件处理程序的master.js文件。页面启动需要这吗? 给定可用的选项,(ajax.googleapis.com,静态无cookie域,原始主机名)应在哪里提供我的JavaScript?

5
为什么要使用document.location.protocol代替纯//前缀的url?
例如,Google Analytics(分析)在样板中使用document.location.protocol进行跟踪: <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> 代替 <script type="text/javascript"> var _gaq = …

2
Google用#!为页面编制索引!虽然我们没有
我们公司使用AngularJS及其路由开发了单页应用程序。Google用JavaScript很好地索引了我们的网站,但它对某些页面的索引不好,因此我们开发了HTML版本。 我们遵循此处发布的Ajax爬行规范,并带有<meta name='fragment' content='!'>标签和规范的url。我们希望http://www.example.com/foo/bar可以从中获取http://www.example.com/?_escaped_fragment_=/foo/bar。 但是,我们发现,在滚动AJAX规范时,现在所有页面都被索引了两次,一次是JavaScript版本http://www.example.com/foo/bar,一次是新版本http://www.example.com/#!/foo/bar。这对我们来说是有害的,因为它是重复的内容,而且也误导了网站。 我曾尝试在这里和Google产品论坛中寻找类似的问题,但没有提出任何建议。

8
为什么不AJAX'ify整个网站?
关于为什么不应该使用加载每个部分主要部分的ajax功能来开发站点,是否有确凿的理由(假设标头,导航等元素保持不变)? 当然,由于服务器不必提供出现在每个页面上的内容,因此资源占用将减少,主机和最终用户都将从中受益。 考虑以下问题回答问题: 网站javascript行为在每个实例中均会正常降低 对于我的问题,我是在谈论可以实施此行为的新站点,而不是从头开始实施,因此从技术上讲,它不会花费任何金钱-我们不会返回完成的产品来实施它。

2
自动化的网站测试/健全性/质量
我正在考虑构建一个从网页的根部开始并遍历整个网站的工具,该工具收集诸如CSS / HTML / JavaScript文件之类的资源列表,然后运行CSS / JavaScript Lint + HTML Validator + Broken Link Finder。在开始构建这样的东西之前,我想知道是否已经存在? 谢谢。 我已经搜索了很多Google,但找不到很多。
11 javascript  html  css  testing 


4
我应该将js / css文件合并为一个文件吗?
双方的YSlow和谷歌的网页速度加载项建议结合脚本(和样式)文件合并为一个文件,每减少HTTP请求的数量,我肯定可以看到这点时,脚本文件是在整个网站一致,但对于整个站点有不同要求的Web应用程序。 我认为它有几种选择: 合并整个站点上使用的所有文件,并且每个页面都获得相同的合并文件-缺点是未使用的内容使脚本混乱(并且第一次加载较重(当任何组件脚本更改时也会重新加载)) 在每页的基础上合并文件-缺点是具有不同要求的每个页面都会获得不同的合并文件(每种页面类型的首次加载较大) 忽略对建议的严格的“仅一个文件”解释,并在适当的情况下将页面加载到多个文件中,并希望在一般情况下进行缓存以消除HTTP请求的数量-缺点是每个页面上的HTTP请求数量 有什么想法吗?


3
网站的目录结构(js / css / img文件夹)
多年来,我一直在为网站使用以下目录结构: <root> ->js ->jquery.js ->tooltip.js ->someplugin.js ->css ->styles.css ->someplugin.css ->images -> all website images... 在我开始使用不同的第三方组件之前,这对我来说似乎非常好。 例如,今天我下载了一个日期时间选择器javascript组件,该组件在其css文件所在的目录中查找其图像(css文件包含诸如“ url('calendar.png')”之类的url)。 所以现在我有3个选择: 1)将datepicker.css放入我的css目录中,并将其图像放入。我不太喜欢这个选项,因为我在css目录中同时包含css和图像文件,这很奇怪。另外,我可能会遇到来自具有相同名称的不同组件的文件,例如2个不同的组件,它们从其css文件链接到background.png。我将必须解决这些名称冲突(通过重命名文件之一并编辑包含链接的相应文件)。 2)将datepicker.css放入我的css目录中,将其图像放入images目录中,然后编辑datepicker.css以在images目录中查找图像。此选项还可以,但是我必须花一些时间来编辑第三方组件以使其适合我的网站结构。同样,这里可能发生名称冲突(如上一个选项中所述),我将不得不对其进行修复。 3)将datepicker.js,datepicker.css及其图像放在一个单独的目录中,假设/ 3rdParty / datepicker /并按照作者的意图放置文件(例如,/ 3rdParty / datepicker / css / datepicker .css,/ 3rdParty / datepicker / css / something.png等)。现在,我开始认为此选项是最正确的。 经验丰富的Web开发人员,您推荐什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.