• Content count

  • Joined

  • Last visited

Community Reputation

22 Excellent

About bayas

  • Rank
  1. GMail reloading and SaveTube issue

    Some of UserScripts are not suitable to port for Maxthon addons. They sometimes request some dependencies or API calls (like GM_* stuffs). And they also have their update mechanism. Here is the reason why ViolentMonkey is the essential to do that. You cannot maintain this extension even If you get a help.
  2. BS Detector

    No need to port of that extension. If you want to use it, follow these instructions: Install Violentmonkey on your Maxthon Browser. And then click this link. Violentmonkey will install for you.
  3. Actually, extension's page script does not show up in the content scripts section.
  4. Hello Maxthon, Some features of extension that I realized are not supported anymore in this core (Chrome 55). Do you think you are going to resolve them in the official release. - I cannot inspect the page script of extension in the "Content Scripts" section. - "" does not work anymore. (Showing Panel from the page script). It was the most important thing that makes Maxthon a better Browser as compared to other chrome-based Browsers.
  5. You can only send or receive a message from one action (toolbar script) to another (page script) or vice versa. For example; Toolbar script: var mxRuntime = window.external.mxGetRuntime(); function getMessageFromPage(obj) { console.log('message: ' + obj); } mxRuntime.listen('messageFromPage', getMessageFromPage); var button = document.getElementsByTagName("button")[0]; button.onclick = function(e) {'messageFromToolbar', 'Hi from Toolbar!'); } Page script: var mxRuntime = window.external.mxGetRuntime(); function getMessageFromToolbar(obj) { console.log('message: ' + obj); } mxRuntime.listen('messageFromToolbar', getMessageFromToolbar);'messageFromPage', 'Hi from Page Script!');
  6. help with checkbox/variable/newtab

    In javascript environment, If your variable is not a boolean, every value of variable represents true except "0" string, undefined or null value. You must compare storage value to what you need. var mxRuntime = window.external.mxGetRuntime(), mxStorage =, mxTabs = mxRuntime.create('mx.browser.tabs'); var activate = mxStorage.getConfig('openTab') == 'true'; mxTabs.newTab({ url: url, activate: activate, position:"afterCurrrent" });
  7. ViewPage 3

    @Galileusz I've read it before. I wanted to say: it should be packaged alongside the zip format to be able to install this extension more easily.
  8. ViewPage 3

    I fixed some bugs, now all beatufiers works for styles and sources. ViewPage3.0.2.mxaddon
  9. ViewPage 3

    Why did not you share it as a package. Anyway I packed it for you ViewPage3.0.2.mxaddon
  10. show extensions

    If you just want to download the videos on Youtube. Install Violentmonkey and then go to KeepVid site and install "KeepVid Helper" script.
  11. Cannot login to extension page

    3 months later and still no solution...
  12. Cannot login to extension page

    Still cannot login.
  13. Don't use local html file like panel.$.htm After the release of Maxthon 4.9.x, extension framework hasn't supported them. You must do it manually. For example; en.ini [lang] app.title=Title app.description=Description panel.htm <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title data-lang="app.title">Title</title> </head> <body> <div data-lang="app.description">Description</div> </body> <script type="text/javascript" src="js/jquery.min.js"></script> <script> var rt = window.external.mxGetRuntime(); var i18n = rt.locale.t; jQuery(document).ready(function() { // localize. jQuery("[data-lang]").each(function(index, item) { var key = jQuery(this).attr("data-lang"); jQuery(this).text(i18n(key)); }); }); </script> </html>
  14. You should create a background service in your extension in order to catch properly all of panel events. 1- Define service file in your def.json [ { . . "service": { main: "service.htm", debug: false } . . } ] 2- Catch events in service.htm. <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <script> var rt = window.external.mxGetRuntime(); rt.onAppEvent = function (obj) { switch (obj.type) { case "ACTION_START": // panel started. break; case "ACTION_STOP": // panel stopped. break; case "ACTION_SHOW": // panel is shown. break; case "ACTION_HIDE": // panel is hidden. break; case "ERROR": console.log(obj.errorMessage); break; case "LOCALE_CHANGED": // locale changed. break; default: // do nothing. } }; </script> </head> <body> </body> </html> You can also debug your service by changing debug parameter.