Not much more information than:
Code: Select all
<html>
<head>
<script language="JavaScript">
function macro()
{
// Body of the original function on the created macro, i. e.,
// from "var m64..." until "...div.dispatchEvent(evt);"
var m64 = "VkVSU0lPTiUyMEJVSUxEJTNEMTAzMTIwOCUyMFJFQ09SREVSJTNEQ1IlMEFVUkwlMjBHT1RPJTNEaHR0cCUzQSUyRiUyRnd3dy5hbGVydGZveC5jb20lMkYlMEFUQUclMjBQT1MlM0QxJTIwVFlQRSUzREElMjBBVFRSJTNEVFhUJTNBTG9naW4lMEFUQUclMjBQT1MlM0QxJTIwVFlQRSUzRElOUFVUJTNBVEVYVCUyMEZPUk0lM0ROQU1FJTNBZm9ybTElMjBBVFRSJTNESUQlM0FjdGwwM19Mb2dpbiUyMENPTlRFTlQlM0RkZW1vLXJlYWRvbmx5JTQwYWxlcnRmb3guY29tJTBBU0VUJTIwIUVOQ1JZUFRJT04lMjBOTyUwQVRBRyUyMFBPUyUzRDElMjBUWVBFJTNESU5QVVQlM0FQQVNTV09SRCUyMEZPUk0lM0ROQU1FJTNBZm9ybTElMjBBVFRSJTNESUQlM0FjdGwwM19QYXNzd29yZCUyMENPTlRFTlQlM0RkZW1vJTBBVEFHJTIwUE9TJTNEMSUyMFRZUEUlM0RJTlBVVCUzQUNIRUNLQk9YJTIwRk9STSUzRE5BTUUlM0Fmb3JtMSUyMEFUVFIlM0RJRCUzQWN0bDAzX1JlbWVtYmVyTWUlMjBDT05URU5UJTNEWUVTJTBBVEFHJTIwUE9TJTNEMSUyMFRZUEUlM0RJTlBVVCUzQVNVQk1JVCUyMEZPUk0lM0RJRCUzQWZvcm0xJTIwQVRUUiUzRElEJTNBY3RsMDNfTG9naW5CdXR0b24lMEFUQUclMjBQT1MlM0QxJTIwVFlQRSUzREElMjBBVFRSJTNEVFhUJTNBVmlldyUzQ1NQJTNFUGVyZm9ybWFuY2UlM0NTUCUzRUNoYXJ0JTBB", n = "alertfox demo login";if(!/Chrome\/\d+\.\d+\.\d+\.\d+/test(navigator.userAgent)){alert('iMacros: The embedded macros work with iMacros for Chrome. Support for IE/Firefox is planned.');return;}if(!/^(?:chrome|https?|file)/.test(location)){alert('iMacros: To run a macro, you need to open a website first.');return;}var div = document.getElementById("imacros-bookmark-div");if (!div){alert("Can not run macro, no iMacros div found");return;}var ta = document.getElementById("imacros-macro-container");ta.value = decodeURIComponent(atob(m64));div.setAttribute("name", n);var evt = document.createEvent("Event");evt.initEvent("iMacrosRunMacro", true, true);div.dispatchEvent(evt);
}// end function macro
</script>
</head>
<body onload="macro();"></body>
</html>
So I improved the alignment and added console.debug(document); to find what's wrong:
Code: Select all
<html>
<head>
<script language="JavaScript">
function macro()
{
var m64 = "VkVSU0lPTiUyMEJVSUxEJTNEMTExMDMxMSUyMFJFQ09SREVSJTNEQ1IlMEFVUkwlMjBHT1RPJTNEd3d3Lmdvb2dsZS5jb20lMEFUQUclMjBQT1MlM0QxJTIwVFlQRSUzRElOUFVUJTNBVEVYVCUyMEZPUk0lM0ROQU1FJTNBZiUyMEFUVFIlM0ROQU1FJTNBcSUyMENPTlRFTlQlM0RoZXR0YXIlM0NTUCUzRXJpZ2dhciUzQ1NQJTNFc3V2aXJlbnQlMEFUQUclMjBQT1MlM0QxJTIwVFlQRSUzRElOUFVUJTNBU1VCTUlUJTIwRk9STSUzRE5BTUUlM0FmJTIwQVRUUiUzRE5BTUUlM0FidG5HJTI2JTI2VkFMVUUlM0FHb29nbGUlM0NTUCUzRVNlYXJjaA=="
var n = "testmakro";
if(!/Chrome\/\d+\.\d+\.\d+\.\d+/.test(navigator.userAgent)){
alert('iMacros: The embedded macros work with iMacros for Chrome. Support for IE/Firefox is planned.');
return;
}
if(!/^(?:chrome|https?|file)/.test(location)){
alert('iMacros: To run a macro, you need to open a website first.');
return;
}
console.debug(document);
var div = document.getElementById("imacros-bookmark-div");
if(!div){
alert("Can not run macro, no iMacros div found");
return;
}
var ta = document.getElementById("imacros-macro-container");
ta.value = decodeURIComponent(atob(m64));
div.setAttribute("name", n);
var evt = document.createEvent("Event");
evt.initEvent("iMacrosRunMacro", true, true);
div.dispatchEvent(evt);
}// end function macro
</script>
</head>
<body onload="macro();"></body>
</html>
When reading the console.debug(document);, i noticed the script searches for a div in the page from the script.
Do I need to add a div with my macro or how does it work? I was thinking it uses the var n = "testmakro"; to select the macro (a bookmark in my case).
A working example should be great.
Chrome version: 30.0.1599.101 (last)
iMacros version: 6.0.6 (last)
Please help, I've spent more than 2 hours trying to solve this issue.
Edit:
firgured out that n is the macro.
That the script creates the bookmark? But can't imagine Chrome allows this, to mess with the bookmarks without notice.
Suspecting macros-bookmark-div is the location from old version.
Need to find new location? But how?