I recently had a scenario where I wanted to track the last time a Lead record was viewed in Salesforce for auditing purposes. I added a simple
Last_Viewed__c date field to the Lead object and then set about updating it every time the record was displayed in the standard page layout.
The first thing you need to do is download the forcetk.js libaray and jQuery. It has been tested on jQuery 1.4.4 and 1.5.2, but other versions may also work. I used 1.5.2. Next upload these two files as static resources with the names "forcetk" and "jquery152".
Next, you need to add the correct REST endpoint hostname for your instance (i.e. https://na1.salesforce.com/ or similar) as a remote site in Your Name > Administration Setup > Security Controls > Remote Site Settings.
Now create a Visualforce page that has no display and only calls the REST API with forcetk. Make sure you use the standardController attribute so that you can embed it into your page layout. One thing to note on the code below. On line 12 when calling the update method, the last argument is a callback function. I've set this to null since I don't really care about the outcome but you may want to display the response for debugging or some other purpose.
The last step is to add this Visualforce page to your standard page layout. In the page layout editor, drag the Visualforce page to a section that is not collapsable (so it's sure to be called), I added mine under the Created By field, and set the Visualforce Page Properties to 0px width and 0px height. This way it will not appear on the page to the user. Now, after the page finishes loading, the REST API will be called to update the
Last_Viewed__c field with the current date! Viola!