每个人的需求都不同,让我们来看看你的列表:
1)我从来没有因为javascript而遇到页面布局或样式的问题。如果你的HTML和CSS有序,那么缺少javascript几乎是不可见的。
您可以在css中隐藏元素,并在它们准备好时使用javascript显示它们。您可以使用 jQuery的.show();
方法
这里是一个例子:
<!DOCTYPE html>
<html>
<head>
<style>
div { background:#def3ca; margin:3px; width:80px;
display:none; float:left; text-align:center; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<button id="showr">Show</button><button id="hidr">Hide</button>
<div>Hello 3,</div><div>how</div><div>are</div><div>you?</div>
<script>
$("#showr").click(function () {
$("div").first().show("fast", function showNext() {
$(this).next("div").show("fast", showNext);
});
});
$("#hidr").click(function () {
$("div").hide(1000);
});
</script>
</body>
</html>
如果您仍然遇到问题,您可以将JavaScript拆分为您的网站依赖项和其他脚本,并将其中一些放在页眉中,另一些放在页脚中。
2)这是用户错误,您无法控制它,但您可以检查所需功能是否存在并尝试重新加载它。大多数插件都会提供一些确认,以确定它们是否正在运行,因此您可以运行测试并尝试重新加载它们。
您还可以延迟加载文件,直到用户需要它们,例如等待他们聚焦到form
上以加载验证脚本,或滚动到某个特定点以加载屏幕下方的内容的代码。
3)如果页面die
,那么你最终会得到一个半空白的页面。使用PHP 5,您可以使用exception
s进行更好的错误处理。
if (!$result = mysql_query('SELECT foo FROM bar', $db)) {
throw new Exception('You fail: ' . mysql_error($db));
}
和这个
try
{
throw new Exception('Invalid URL.');
}
catch (FirstExceptionClass $exception)
{
}
catch (SecondExceptionClass $exception)
{
}
4) 如果你压缩你的脚本,它们不应该比图片大多少。JQuery经过压缩和gzip处理后只有32KB。JQuery-UI的脚本是51KB。这还不错,大多数插件应该比这更小。
所以我建议你应该尽力达到你想要的结果,但要寻找减少错误和冗余代码的最佳实践。总有更好的方法来解决问题...