Select and run the registered JavaScript from the menu. Using browser.tabs.executeScript API.
I created this extension to make it easier to run JavaScript on firefox for mobile, which does not have a bookmarklet available.

Usage
screenshot

• Print debug info: Output debug information at the bottom of the Options tab.
• Script Resource: Script to register in the menu.
1. Each script begins with the //name directive.
The //name directive specifies the script name to be displayed on the menu.
//name Go page top
2. The //matches directive specifies a comma-separated list of URL patterns for the pages where you want to display the script name. (Optional)
//matches https://www.google.com/*, https://github.com/* 
3. The //excludes directive specifies a comma-separated list of URL patterns for the pages where you don’t want to display the script name. (Optional)
The //excludes directive has a higher priority than the //matches directive.
//excludes https://yobukodori.github.io/*, https://github.com/yobukodori/* 
4. Next, use the //options directive to set details. (Optional)
//options
{
”allFrames”: true
”wrapCodeInScriptTag”: true
}
wrapCodeInScriptTag is a Script Menu specific option. If its value is true, the code is wrapped in a script tag and executed. Then you can access the variables defined by page script.
Internally convert it to the following code and execute it.
(function() {
let script = document.createElement(“script”);
script.appendChild(document.createTextNode(“(“+function(){
}+”)();”));
document.documentElement.appendChild(script);
script.remove();
})();
5. Finally, write the code with the //js directive.
[NOTE] Doesn’t check the syntax of the code, so please paste the code that has been tested to work.  //js (function(){     alert("hello"); })(); 
6. Prepared the following built-in scripts for Fenix.
//name View Page Source //js builtin:view-page-source //name View (Selected) outerHTML //js builtin:view-outerhtml 
7. Other directives. (Optional)
//disable: disable this script. In case you don’t use the script but want to keep it.
//eof: Ignore the lines that follow.
//[-=*;#]: Comment line. //name Obsolete script //disable //js (function(){/* code */})(); //=============================== //name Beautify the page //# comment (function(){/* code */})(); //eof ############################# [memo] ... [todo] ... 
• Save: Save settings and scripts resource. And apply settings and scripts.
• Apply: Apply settings and scripts. (doesn’t save).
• Get Status: get current status and applied scripts.
• Clear Log: Clear log.