{"id":2869,"date":"2014-10-18T11:41:23","date_gmt":"2014-10-18T09:41:23","guid":{"rendered":"http:\/\/humanoids.be\/log\/?p=2869"},"modified":"2014-10-18T11:45:56","modified_gmt":"2014-10-18T09:45:56","slug":"cross-browser-extensions-babelext","status":"publish","type":"post","link":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/","title":{"rendered":"Cross-Browser Extensions with BabelExt"},"content":{"rendered":"<p>Developing an extension that runs just in one browser is already an endeavour. If you for some reason have to create an extension that works with multiple browsers the horror gets real. Thanks to frameworks like <a href=\"http:\/\/babelext.com\/\">BabelExt<\/a> it might just be a lot easier. BabelExt is a framework, that allows you to write code from which you can generate an extension for Chrome, Firefox, Safari and Opera. It&#8217;s been started by the developer of the famous <a href=\"http:\/\/redditenhancementsuite.com\/\">RES extension<\/a>, honestbleeps. The main focus of the framework is page modification, so if you want to do user interface stuff, you&#8217;ll have to look for another framework, but there are existing solutions, too.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Developing an extension that runs just in one browser is already an endeavour. If you for some reason have to create an extension that works with multiple browsers the horror gets real. Thanks to frameworks like BabelExt it might just be a lot easier. BabelExt is a framework, that allows you to write code from &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Cross-Browser Extensions with BabelExt&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":2884,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"link","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[616,12],"tags":[91,610,612,613,93,534,614,611],"class_list":["post-2869","post","type-post","status-publish","format-link","has-post-thumbnail","hentry","category-sdk-extensions","category-firefox","tag-add-on","tag-addon-2","tag-extension","tag-isomorph","tag-jetpack","tag-plugin","tag-res","tag-sdk","post_format-post-format-link"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cross-Browser Extensions with BabelExt - Humanoids beLog<\/title>\n<meta name=\"description\" content=\"Developing an extension that runs just in one browser is already an endeavour. If you for some reason have to create an extension that works with multiple\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cross-Browser Extensions with BabelExt - Humanoids beLog\" \/>\n<meta property=\"og:description\" content=\"Developing an extension that runs just in one browser is already an endeavour. If you for some reason have to create an extension that works with multiple\" \/>\n<meta property=\"og:url\" content=\"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/\" \/>\n<meta property=\"og:site_name\" content=\"Humanoids beLog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/humanoidsbelog\" \/>\n<meta property=\"article:published_time\" content=\"2014-10-18T09:41:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-10-18T09:45:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/humanoids.be\/log\/wp-content\/uploads\/2014\/10\/babelext.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1023\" \/>\n\t<meta property=\"og:image:height\" content=\"444\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Martin Giger\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@freaktechnik\" \/>\n<meta name=\"twitter:site\" content=\"@freaktechnik\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Martin Giger\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/\"},\"author\":{\"name\":\"Martin Giger\",\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/#\\\/schema\\\/person\\\/a58850edf3908fc1b0987aedfb9a080d\"},\"headline\":\"Cross-Browser Extensions with BabelExt\",\"datePublished\":\"2014-10-18T09:41:23+00:00\",\"dateModified\":\"2014-10-18T09:45:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/\"},\"wordCount\":116,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/humanoids.be\\\/log\\\/wp-content\\\/uploads\\\/2014\\\/10\\\/babelext.png\",\"keywords\":[\"add-on\",\"addon\",\"extension\",\"isomorph\",\"jetpack\",\"plugin\",\"res\",\"sdk\"],\"articleSection\":[\"Add-on SDK\",\"Firefox\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/\",\"url\":\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/\",\"name\":\"Cross-Browser Extensions with BabelExt - Humanoids beLog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/humanoids.be\\\/log\\\/wp-content\\\/uploads\\\/2014\\\/10\\\/babelext.png\",\"datePublished\":\"2014-10-18T09:41:23+00:00\",\"dateModified\":\"2014-10-18T09:45:56+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/#\\\/schema\\\/person\\\/a58850edf3908fc1b0987aedfb9a080d\"},\"description\":\"Developing an extension that runs just in one browser is already an endeavour. If you for some reason have to create an extension that works with multiple\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/#primaryimage\",\"url\":\"https:\\\/\\\/humanoids.be\\\/log\\\/wp-content\\\/uploads\\\/2014\\\/10\\\/babelext.png\",\"contentUrl\":\"https:\\\/\\\/humanoids.be\\\/log\\\/wp-content\\\/uploads\\\/2014\\\/10\\\/babelext.png\",\"width\":1023,\"height\":444,\"caption\":\"A cross-browser extension development library\\\/boilerplate\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/2014\\\/10\\\/cross-browser-extensions-babelext\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/humanoids.be\\\/log\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cross-Browser Extensions with BabelExt\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/#website\",\"url\":\"https:\\\/\\\/humanoids.be\\\/log\\\/\",\"name\":\"Humanoids beLog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/humanoids.be\\\/log\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/humanoids.be\\\/log\\\/#\\\/schema\\\/person\\\/a58850edf3908fc1b0987aedfb9a080d\",\"name\":\"Martin Giger\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8766da02c6809c8ca3142c0c75bbfd454a6d1120dc01fede05d0beffedb6dd40?s=96&d=mm&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8766da02c6809c8ca3142c0c75bbfd454a6d1120dc01fede05d0beffedb6dd40?s=96&d=mm&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8766da02c6809c8ca3142c0c75bbfd454a6d1120dc01fede05d0beffedb6dd40?s=96&d=mm&r=pg\",\"caption\":\"Martin Giger\"},\"description\":\"openpgp4fpr:89346D522A2C190EEB959F52AE530058EFE7FD60\",\"sameAs\":[\"http:\\\/\\\/humanoids.be\\\/\"],\"url\":\"https:\\\/\\\/humanoids.be\\\/log\\\/author\\\/humanoid\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cross-Browser Extensions with BabelExt - Humanoids beLog","description":"Developing an extension that runs just in one browser is already an endeavour. If you for some reason have to create an extension that works with multiple","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/","og_locale":"en_US","og_type":"article","og_title":"Cross-Browser Extensions with BabelExt - Humanoids beLog","og_description":"Developing an extension that runs just in one browser is already an endeavour. If you for some reason have to create an extension that works with multiple","og_url":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/","og_site_name":"Humanoids beLog","article_publisher":"https:\/\/www.facebook.com\/humanoidsbelog","article_published_time":"2014-10-18T09:41:23+00:00","article_modified_time":"2014-10-18T09:45:56+00:00","og_image":[{"width":1023,"height":444,"url":"https:\/\/humanoids.be\/log\/wp-content\/uploads\/2014\/10\/babelext.png","type":"image\/png"}],"author":"Martin Giger","twitter_card":"summary_large_image","twitter_creator":"@freaktechnik","twitter_site":"@freaktechnik","twitter_misc":{"Written by":"Martin Giger","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/#article","isPartOf":{"@id":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/"},"author":{"name":"Martin Giger","@id":"https:\/\/humanoids.be\/log\/#\/schema\/person\/a58850edf3908fc1b0987aedfb9a080d"},"headline":"Cross-Browser Extensions with BabelExt","datePublished":"2014-10-18T09:41:23+00:00","dateModified":"2014-10-18T09:45:56+00:00","mainEntityOfPage":{"@id":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/"},"wordCount":116,"commentCount":0,"image":{"@id":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/#primaryimage"},"thumbnailUrl":"https:\/\/humanoids.be\/log\/wp-content\/uploads\/2014\/10\/babelext.png","keywords":["add-on","addon","extension","isomorph","jetpack","plugin","res","sdk"],"articleSection":["Add-on SDK","Firefox"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/","url":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/","name":"Cross-Browser Extensions with BabelExt - Humanoids beLog","isPartOf":{"@id":"https:\/\/humanoids.be\/log\/#website"},"primaryImageOfPage":{"@id":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/#primaryimage"},"image":{"@id":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/#primaryimage"},"thumbnailUrl":"https:\/\/humanoids.be\/log\/wp-content\/uploads\/2014\/10\/babelext.png","datePublished":"2014-10-18T09:41:23+00:00","dateModified":"2014-10-18T09:45:56+00:00","author":{"@id":"https:\/\/humanoids.be\/log\/#\/schema\/person\/a58850edf3908fc1b0987aedfb9a080d"},"description":"Developing an extension that runs just in one browser is already an endeavour. If you for some reason have to create an extension that works with multiple","breadcrumb":{"@id":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/#primaryimage","url":"https:\/\/humanoids.be\/log\/wp-content\/uploads\/2014\/10\/babelext.png","contentUrl":"https:\/\/humanoids.be\/log\/wp-content\/uploads\/2014\/10\/babelext.png","width":1023,"height":444,"caption":"A cross-browser extension development library\/boilerplate"},{"@type":"BreadcrumbList","@id":"https:\/\/humanoids.be\/log\/2014\/10\/cross-browser-extensions-babelext\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/humanoids.be\/log\/"},{"@type":"ListItem","position":2,"name":"Cross-Browser Extensions with BabelExt"}]},{"@type":"WebSite","@id":"https:\/\/humanoids.be\/log\/#website","url":"https:\/\/humanoids.be\/log\/","name":"Humanoids beLog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/humanoids.be\/log\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/humanoids.be\/log\/#\/schema\/person\/a58850edf3908fc1b0987aedfb9a080d","name":"Martin Giger","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8766da02c6809c8ca3142c0c75bbfd454a6d1120dc01fede05d0beffedb6dd40?s=96&d=mm&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/8766da02c6809c8ca3142c0c75bbfd454a6d1120dc01fede05d0beffedb6dd40?s=96&d=mm&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8766da02c6809c8ca3142c0c75bbfd454a6d1120dc01fede05d0beffedb6dd40?s=96&d=mm&r=pg","caption":"Martin Giger"},"description":"openpgp4fpr:89346D522A2C190EEB959F52AE530058EFE7FD60","sameAs":["http:\/\/humanoids.be\/"],"url":"https:\/\/humanoids.be\/log\/author\/humanoid\/"}]}},"jetpack_featured_media_url":"https:\/\/humanoids.be\/log\/wp-content\/uploads\/2014\/10\/babelext.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/humanoids.be\/log\/wp-json\/wp\/v2\/posts\/2869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/humanoids.be\/log\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/humanoids.be\/log\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/humanoids.be\/log\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/humanoids.be\/log\/wp-json\/wp\/v2\/comments?post=2869"}],"version-history":[{"count":2,"href":"https:\/\/humanoids.be\/log\/wp-json\/wp\/v2\/posts\/2869\/revisions"}],"predecessor-version":[{"id":2882,"href":"https:\/\/humanoids.be\/log\/wp-json\/wp\/v2\/posts\/2869\/revisions\/2882"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/humanoids.be\/log\/wp-json\/wp\/v2\/media\/2884"}],"wp:attachment":[{"href":"https:\/\/humanoids.be\/log\/wp-json\/wp\/v2\/media?parent=2869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/humanoids.be\/log\/wp-json\/wp\/v2\/categories?post=2869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/humanoids.be\/log\/wp-json\/wp\/v2\/tags?post=2869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}