Solved

Urgent - window scroll / anchor jump in IE4.0x on Mac & PC

Posted on 2001-06-19
9
290 Views
Last Modified: 2012-06-27
I want to be able to jump half way down a long page when the user posts a form to the page.

I have this working in Netscape 4+ on Mac and PC using
  document.location='#step3'
in the onLoad function, but have not managed to get it working on IE4.0x

I was hoping to use some sort of anchor jump, rather than scrolling, but using document.location='#step3'  to jump does a GET to the page in IE4, rather than just scrolling the already loaded page, resulting in a fresh page, and the posted data being lost from the form I just posted to it.
Also, there are NO form input elements I can focus to (such as text, buttons etc) at the point I want to jump to, just an anchor and plain text. I don't want to add any stange visible elements such as buttons or text inputs.

I have tried the following:
-  document.location.hash='#step3'
-  document.location.hash='step3'
-  <form ... action="mypage.jsp#step3">
-  window.scrollBy(0,300)
-  document.anchors.step3.focus()
-  document.anchors.step3.blur()
-  step3.focus()
-  step3.blur()

None seem to  work in IE4.01 on the Mac... the closest I got was with step3.focus() but the window contents are all messed up.

The correct answer MUST work on IE4.01 on both the Mac and PC. Got Netscape covered :)

Awaiting with baited breath...
0
Comment
Question by:jjoz
  • 5
  • 3
9 Comments
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 6206397
Try
document.all('step3').scrollIntoView();
or
document.anchors('step3').scrollIntoView();
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 6206411
Either work in IE5.5 on Windows NT - I expect them to work on IE4 on windows and also on mac

MSDN says
Platform Version
Win16: 4.0
Win32: 4.0
WinCE: 4.0
Unix: 4.0
Mac: 4.0

http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/scrollIntoView.asp

0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 6206443
Here is the xbrowser code

<body onLoad="if (document.all)
document.all('step3').scrollIntoView();
else if (document.anchors &&
document.anchors['step3'] &&
document.anchors['step3'].x)
window.scrollTo(document.anchors['step3'].x,document.anchors['step3'].y) ">

and in case you can breathe again: http://www.google.com/search?sourceid=navclient&q=baited+bated
;-)

Michel

0
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 
LVL 1

Author Comment

by:jjoz
ID: 6208754
The xbrowser code does work on all 4+ browsers on the PC, but does not seem to work on IE4 OR IE5 on the Mac.

Any further ideas? Any Mac experts out there?
0
 
LVL 1

Author Comment

by:jjoz
ID: 6208803
Found this on <http://screenporch.com/sp/41/PATCH/>

Browser bug fix:  IE 4 and 5 for the Macintosh do not "scroll" properly to new responses in an item.  
IE uses "scrollIntoView()" to a <SPAN> to handle showing the 1st new response at the top of the page.  IE/Mac doesn't like it if the <SPAN> is empty.  For now, just adding a non-breaking space inside the <SPAN></SPAN> works, although it adds a little vertical white space.  A better solution will appear later.

Again, <SPAN> seems to work for IE5 on the Mac, but not IE4.01 on the Mac. I am beginning to suspect there is no solution for this problem for Mac IE4.01.
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 6209346
Try this:

<head>
<script>
agt = navigator.userAgent.toLowerCase();
Opera = (agt.indexOf('opera'))
IE = (document.all && !Opera)
IEMac = (IE && agt.indexOf('mac')!=-1);
NS = (navigator.appName=='Netscape')

function scrollIt(anc) {
   if (IEMac) anc +="mac"
   if (IE) document.all(anc).scrollIntoView();
   else if (document.anchors &&
      document.anchors[anc] &&
      document.anchors[anc].x)
     window.scrollTo(document.anchors['step3'].x,document.anchors['step3'].y)
}
</script>
</head>

<body onLoad="scrollIt()">


<SPAN ID="step3mac"><a name="step3"></a></SPAN>
0
 
LVL 1

Author Comment

by:jjoz
ID: 6226713
Nice attempt, I already implemented something like this, but as I mentioned, it does not work on Mac IE4.01. Apologies for not responding earlier, but the project in question has finished and I had to cut my losses. (shipped without anchor jumping on Mac).

Unfortunately this did not solve the problem, but thanks for trying. I will leave the question open as I am still interested to see an answer if anyone comes up with one.
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 6226787
You can also ask customer service to PAQ it

Michel
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
ID: 6427242
Points refunded, my comment accepted as answer to place in PAQ.

Thank you
Computer101
Community Support Moderator
0

Featured Post

Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Explain how this javascript function works 1 46
Java script read and write file - save as location 8 43
jQuery delay animation 3 29
Hide cell in a table 2 10
This article shows how to create and access 2-dimensional arrays in JavaScript.  It includes a tutorial in case you are just trying to "get your head wrapped around" the concept and we'll also look at some useful tips for more advanced programmers. …
Having worked on larger scale sites, we found out that you are bound to look at more scalable solutions to integrating widgets, code snippets or complete applications and mesh them into functional sites, in any given composition. To share some of…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question