To extend database functionality even further we’ve added an ability to run custom script on every page of your database. To keep in line with dbstyles.css logic all you need is to place dbscript.js in your database’s resources section.

As the script file is loaded and executed asynchronously, its exact execution time is not known and may happen prior to page is fully loaded. If you are going to transform page content with script code, you may need to postpone code execution to later time. You can rely on jQuery facilities to do that:

jQuery(function() { 
    // here page load is complete
    // insert some content on top of every page
    jQuery("#td-bodyframe").prepend("<p>This will appear below tabs and above page's content</p>");

Limit script execution scope

Body tag of each page has an identifier built from the name of the page and table’s internal identifier, say, overview_t_909. You can use CSS selectors Рthe same way you can do it with dbstyles.css Рto limit script execution to some contexts using jQuery.

jQuery(function() { 
    if(jQuery("body[id^="overview"]").length) {
        // this will run on every overview page, but not on views and forms
    if(jQuery("body[id$="_t_909"]").length) {
        // this will run on any page in Invoice table
    if(jQuery("body#overview_t_909").length) {
        // this will run on overview page of Invoice table

Load external libraries

If you need external libraries, you can rely on FS.addScript(url, callback) function to request library script and execute the code after library is loaded:

FS.addScript("//", function() {
    // do Google Maps stuff

Real world example

Say, you want to run Google Analytics. Simply place their code without surrounding script tags to your dbstyles.js – with modified tracking ID of course.

(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');