少し前に考えたアイデアの 1 つは、ページ全体をキャッシュしてから、javascript を使用してユーザー固有の情報を入力することでした。非常に大規模な再アーキテクチャが必要になる可能性が高いですが、そのメリットは計り知れません。
私はそれについての概念実証を書きましたが、アイデアはユーザーデータを iframe で動的にレンダリングすることです:
<html>
<head>
<script type="text/javascript">
var iData = {};
iData.loggedIn = true;
iData.username = 'Your Username';
iData.userLevel = 'Mod';
</script>
</head>
</html>
次に、(キャッシュされた、静的な) ページで、ページを操作します。
var iData = window.iframe.iData;
if(!iData.loggedIn)
{
$('topnav_hidden').style.display = 'none';
$('topnav_pm').style.display = 'none';
$('topnav_mcp').style.display = 'none';
$('topnav_logout').style.display = 'none';
hideModFunctions();
var replyLinks = getElementsByClass('reply_links', $('mainTable'), 'span');
for(var i=0;i<replyLinks.length;i++)
replyLinks[i].style.display = 'none';
var replyLinks = getElementsByClass('reply_links', $('basicTable'), 'span');
for(var i=0;i<replyLinks.length;i++)
replyLinks[i].style.display = 'none';
}
else
{
$('fillin_username').innerHTML = iData.username;
$('topnav_register').style.display = 'none';
$('topnav_login').style.display = 'none';
if(iData.userLevel != 'Mod' && iData.userLevel != 'Admin')
hideModFunctions();
}
はっきりさせておきますが、これはおそらくほとんどの人にとって実用的なアプローチではありませんが、コンテンツが 99% 静的であり、本当に苦労している場合、多くの労力を費やす意思があれば、大きな利益が得られる可能性があります。それを設定します。