I was wondering if there is a way for me as an end user to see if the problem is the with the JS function call or some other parsing/scanning issue with the page. It saves the page, but I see no evidence in the queue that it parsed it. Also, some other pages have similar function calls and all links are explored.
I`ve restarted this project a couple times while trying to fine tune the substitutions, and was wondering if restarting (download all files) will ever use old saved files/settings. Or will it always use the most current files/settings.
In a related question, if I do a URL substitution one way on one run. Then I change the substitution rule and do an UPDATE modified files, how does OEP handle that.
CODE BELOW:
JS that works with the following link:
<PRE>
<CODE>
href="javascript:detect2(`7`)"
function detect2(image_number){
if ((navigator.userAgent.indexOf("Mac")!=-1) && (navigator.userAgent.indexOf("MSIE")!=-1)) {
processForm2(image_number);
}
else{
openWindow2(image_number);
}
}
function processForm2(image_number) {
url = "../picture_viewer/index.php@id=9&image_count=20§ion=exclusive&referer=&image_number=" + image_number
window.open(url, "picture_viewer", "scrollbars=no,width=753,height=510");
return false;
}
function openWindow2(image_number) {
x = (753 - 753)/2, y = (510 - 510)/2;
if (screen) {
y = (screen.availHeight - 400)/2;
x = (screen.availWidth - 600)/2;
}
if (screen.availWidth > 1800) {
x = ((screen.availWidth/2) - 510)/2;
}
url = "../picture_viewer/index.php@id=9&image_count=20§ion=exclusive&referer=&image_number=" + image_number
window.open(url,`picture_viewer`,`width=753,height=510,screenX=`+x+`,screenY=`+y+`,top=`+y+`,left=`+x);
}
</CODE>
This JS fails with the following link
<CODE>
href="javascript:detect_img2(`1`)"
function detect_img2(image_number){
if ((navigator.userAgent.indexOf("Mac")!=-1) && (navigator.userAgent.indexOf("MSIE")!=-1)){
processForm_img2(image_number);
}
else{
openWindow_img2(image_number);
}
}
function processForm_img2(image_number){
url = "../picture_viewer/index.php@id=432&image_count=10§ion=pictorials&image_number=" + image_number;
window.open(url, "picture_viewer", "scrollbars=no,width=753,height=510");
return false;
}
function openWindow_img2(image_number){
x = (753 - 753)/2, y = (510 - 510)/2;
if (screen) {
y = (screen.availHeight - 400)/2;
x = (screen.availWidth - 600)/2;
}
if (screen.availWidth > 1800) {
x = ((screen.availWidth/2) - 510)/2;
}
url = "../picture_viewer/index.php@id=432&image_count=10§ion=pictorials&image_number=" + image_number;
window.open(url,`picture_viewer`,`width=753,height=510,screenX=`+x+`,screenY=`+y+`,top=`+y+`,left=`+x);
}
</CODE>
</PRE>
I`m not sure which path OEP takes and if that would make a difference. The only real difference I can see in the above is that the second (non-working) has a ";" at the end of the URL string. I don`t have enough knowledge of JS to know if that`s correct syntax. But it is the only difference.
Finally, I was wondering about the feasibility of the following
Feature Request: Make OEP replace/translate a Javascript function call with any link that is called. Am I wrong in thinking that if a link gets enqueued from a script calculation, then that link can replace the function call in the offline copy.
Thanks. This is definitely the best offline browser I`ve tried thus far.
Regarding URL Substitutes - I am afraid, there could be an unexpected behavior when some files are not changed since the last download - Offline Explorer will get links from them to follow and these links may appear to be invalid, because they were changed by the substitution rules.
Best regards,
Oleg Chernavin
MP Staff