There is no generic solution for this problem: The same menu can be rendered with different walkers on different pages, or plugins change the menu on some pages.
You could extend your script to evaluate the differences to an untouched menu and build the necessary JavaScript on the fly … and cache that too … for each single page.
I don’t think it is worth the hassle. getting all the edge cases right is hard work, and the menu would still be different for users without JavaScript (search engines, unresolved script errors etc.).
Related Posts:
- WordPress cache a menu with Transient API
- Nav and logo loading each time causing menu to move JointsWP – Foundation 6
- Display a portion/ branch of the menu tree using wp_nav_menu()
- Programmatically add a Navigation menu and menu items
- Any docs for wp_nav_menu’s “items_wrap” argument?
- Customizing Only a Specific Menu using the “wp_nav_menu_items” Hook?
- Changing the Order of Admin Menu Sections?
- How make top level menu item not have link, but have sub-menus that are linked?
- How does object caching work?
- Add ‘has_children’ class to parent li when modifying Walker_Nav_Menu
- Get WP Navigation Menu from REST API V2
- How to Hard Code Custom menu items
- How to add a Custom Link to a Menu with a URL that is relative to the blog URL
- How do I remove UL on wp_nav_menu?
- Retrieving a list of menu items in an array
- WordPress default menu in database
- Adding an Arbitrary Link to the Admin Menu?
- Dynamically exclude menu items from wp_nav_menu
- Add “Logout” link to navigation menu
- Should I use Transient API to store HTML String, or Object?
- Error: Declaration of MyClass::start_lvl() should be compatible with that of Walker_Nav_Menu::start_lvl()
- Split up wp_nav_menu with custom walker
- Removing container from wp_nav_menu not working
- Custom Nav walker display current menu item children, or siblings on no children
- wp_nav_menu: show menu only if one exists, otherwise show nothing
- Is there an easy way to replace a custom menu link with a page or post?
- Convert output of nav_menu items into a tree-like multidimensional array
- Get page IDs from nav items
- Add a custom walker to a menu created in a widget
- Using a menu walker add a custom item at the end of the menu’s items
- Add settings to menu items in the Customizer
- wp_get_nav_menu_items() not working with slug
- How to get current-menu-item title as variable?
- Error “Trying to get property of non-object” with Custom Walker for wp_nav_menu
- Add Class to Specific Link in Custom Menu
- Remove a menu item in menu
- Generate a Menu that Displays Child Pages using wp_list_pages() with the New Menu Functionality in WordPress 3.0?
- How do I get the name of a menu in WordPress?
- Is get_option() faster than accessing get_transient()?
- How to Add to Each Menu Link with link text to data-attr?
- Cache remote (HTTP) request with Transients API
- How to manually specify the current active page with wp_nav_menu()
- How to count nav menu items?
- How Does The Walker Class Work?
- Add Javascript to WordPress Menu
- Is there any danger in deleting all transients?
- Add custom menu item using wp_nav_menu_items filter
- Filter wp_nav_menu()
- How to modify navigation menu of the “My Account” page in WooCommerce
- remove “edit your profile” from admin menu bar
- WordPress Settings API, Implementing Tabs On Custom Menu Page
- Adding line breaks to nav menu items
- Adding category ID or slug to WP Nav Menu
- add custom class to wp_nav_menu using filter hook nav_menu_css_class
- Custom ID for certain menu item?
- Does Extending Multiple Nav_Menu_Walkers Allow Nested Menus?
- Best practices for using the transients API
- Check if page is in a certain menu
- how to create a menu with all sub categories?
- Making breadcrumb with wp_nav_menu
- Does WP REST API have a built in route for calling menu?
- How to avoid wp_nav_menu() ID conflict?
- Add data-icon input to WordPress custom menu links
- Registering menu with ‘Automatically add new top-level pages to this menu’ selected
- Why do Custom Nav Menus generate so many classes on list items? Can I manage this somehow?
- wp_nav_menu remove class and id from li
- Custom search filter causes menu and query_posts problems
- Unregister Nav Menu from Child-Theme
- Using transients in conjunction with memcached
- How does a minimal menu walker look like?
- Add separator to admin submenu
- fall back for main menu?
- On which hook should I be calling register_nav_menu(s)?
- WordPress Shortcode in Menu Item Title
- register_nav_menus() won’t register menus
- Calling the Menu Title within wp_nav_menu array function
- How can I create an auto-populated menu that is automatically assigned to a location?
- Display only page specific sub menu items using Custom Walker
- How do I add a search box to the nav menu?
- How to get IDs for objects in menu branch?
- New post notification in wp_nav_menu
- Custom Post Types posts as submenus in Nav Menu
- Link to Author archive from Navigation Menus in dashboard?
- How to stop mobile theme inheriting desktop navigation menu?
- Add child pages automatically to nav menu
- adding some custom html code to the wp_nav_menu function
- WordPress Menu Custom Walker Class
- Show just one level of child pages, wp_list_pages woe
- Increase search results for Admin -> Appearance -> Menus -> Search (default is 10)
- How to create this custom menu walker?
- Removing link ” from ” menu for some “links” without JS
- How to change order of menu items
- Storing posts social counters by using transient api
- Renaming a WordPress Admin Menu
- Using a wildcard with delete_transient()
- Whats the difference between current_page_item and current-menu-item
- Using nonce in menu item
- Remove unusable metaboxes in nav menu management screen
- Menu limit, cannot add new menu items
- Highlight parent menu item when child is not in menu