WebDialog help - hide scrollbars
-
@jim said:
Is there a single, simple answer to this?
Well, I use
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
and<body scroll="no">
. This seems to be working in all the cases. Other suggestions are not working if I use !DOCTYPE.I think this is the universal answer.
-
I use STRICT doctype and
<body scroll="no">
. Since this is for an application I don't care that it's not standard. -
@thomthom said:
I use STRICT doctype and
<body scroll="no">
. Since this is for an application I don't care that it's not standard.Don't you think in good time such application may well need web connectivity, say, to get or set remote data? Making things comply with today's standards could save future hassles for following generations.
-
I'm a strong proponent of webstandards. But I'm also pragmatic - this is to work around an SU bug where the scrollbar argument in SU's Webdialog class doesn't take effect.
It's not something that will cause problems for future plugins - if future SU corrects the bug, then this little attribute don't do much. -
@thomthom said:
I'm a strong proponent of webstandards. But I'm also pragmatic - this is to work around an SU bug where the scrollbar argument in SU's Webdialog class doesn't take effect.
It's not something that will cause problems for future plugins - if future SU corrects the bug, then this little attribute don't do much.Ok no big deal except I am working on the API webdialog (which will include snippets). It seems there is a conflict between this:
body{ border;0px; margin;0px; overflow;hidden }
and STRICT doctype, so shouldn't the solution be within HTML compliance and standards and not within Sketchup webdialogs?
It would be useful for me to understand.
Chris
-
I don't know why the overflow with STRICT doctype within a Webdialog doesn't work - it's how you do it with websites.
@chrisglasier said:
so shouldn't the solution be within HTML compliance and standards and not within Sketchup webdialogs?
Seeing that the Webdialog has a
scroll
property for it's creating of the ruby class I'd expect that the scrollbars should be set from ruby. I think that the embedded IE control has a scroll property which developers who wish to embed HTML content can set to a fixed override. Why this argument isn't adhered to, I don't know.I wonder if the SU dev team has been made aware of the scrollnar bug.
Was it so that this is PC only - that it works as expected on Mac? -
Thanks Thomas. BTW I think it therapeutic to use a STRICT doctype then abuse it by doing something non-standard - appeals to cynical Brits like me!
-
@chrisglasier said:
Thanks Thomas. BTW I think it therapeutic to use a STRICT doctype then abuse it by doing something non-standard - appeals to cynical Brits like me!
It's make the standard conformant me twitch. x_X
-
Ah!
There is a standard conformant way!html { overflow; hidden; }
When removing
scoll="no"
and adding that to the CSS the scrollbars disappeared in STRICT mode.Armed with that, you could sub-class the Webdialog class and tap into it's
.new
method and pass on the scroll argument to the webdialog when it's ready. Unless you're fine with just having it defined in the CSS and ignore the Ruby argument.
I was going to make a wrapper for myself, that took care of the matter where the size is only being read the first time it's created. At the moment, if you try to change the size arguments for a non-resizable webdialog they won't take effect unless you purge the saved settings. -
Good and noted! And used here.
-
I don't know why I didn't try that before. I know that when switching between STRICT and quicks the behaviour of HTML and BODY changes.
Glad we finally worked it out. -
@newone said:
One more thing: JS statement element.selected = true; did not worked on my native SU instalation. After I updated my Internet Explorer from 6 to 7, it did worked... how is this possible, because in SU I still have IE4 ?
You don't have IE4 in SU. You have whatever is installed on the system.
That's one of the reason I would prefer is SU used a standalone web-frame that isn't linked to the system. -
@thomthom said:
You don't have IE4 in SU. You have whatever is installed on the system.
That's one of the reason I would prefer is SU used a standalone web-frame that isn't linked to the system.Please run this.
@my_dialog = UI;;WebDialog.new('Check Version', false,"",400, 100, 300, 300, true) html = '<html> <body> <script type="text/javascript"> var browser=navigator.appName; var b_version=navigator.appVersion; var version=parseFloat(b_version); document.write("Browser name; "+ browser); document.write("<br />"); document.write("Browser version; "+ version); </script> </body> </html>' @my_dialog.set_html(html) @my_dialog.show{} @my_dialog.bring_to_front
-
You can't rely on
navigator.appVersion
. Since IE4 and up it has always reported 4 for legacy support reasons. You must parse thenavigator.userAgent
string.
http://javascript.gakaa.com/navigator-appversion.aspx -
If so, why does it renders buttons so old-way?
-
IE is quick to do weird stuff to form control. In general - form controls in any browser is unpredictable.
If it'd been rendering like IE4 it would be permanently stuck in Quicks mode. Standard mode in IE wasn't introduced until IE6.
-
@newone said:
If so, why does it renders buttons so old-way?
Sometimes Standards Compliant mode on MSIE turns MS Common Controls back to the old 'unthemed' set (they look like old Win 3.x ugly controls.)
See my post in the other WebDialog thread for a META tag that goes in the HEAD section.
Sometimes it can turn the 'XP themed' ver 6 controls back on.
I don't know if they work in Strict mode, but the tag should work for Tranistional mode.http://forums.sketchucation.com/viewtopic.php?f=180&t=22698#p196706
Advertisement