By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,261 Members | 1,658 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,261 IT Pros & Developers. It's quick & easy.

Prevent copy of hidden elements

P: n/a
I've got a web page with some hidden elements that can be shown
through various methods. What I'd like is, when the user tries to copy
the visible stuff on the page, it doesn't copy the hidden stuff in
between. Is there a simple way to do this? I know I could move the
whole element using some DOM scripting, but I'd really like to do it
just using something similar to style.visibility=hidden.

Any suggestions?

Here's some basic code to tinker with:

<html>
<head>
<script type="text/Javascript">
var step = 0;
function test(elem){
elem = document.getElementById(elem);
if(step == 0){
elem.style.visibility = "visible";
document.getElementById("replace").innerHTML = "visibility:visible,
display:'' &nbsp;";
step = 1;
}else if(step == 1){
elem.style.display = "";
document.getElementById("replace").innerHTML = "visibility:hidden;
display:'' &nbsp;";
step = 2;
}else if(step == 2){
elem.style.visibility = "hidden";
document.getElementById("replace").innerHTML = "visibility:hidden;
display:none";
step = 3;
}else{
elem.style.display = "none";
document.getElementById("replace").innerHTML = "visibility:visible;
display:none";
step = 0;
}
}
</script>

</head>
<body>
Highlight the whole page (Ctrl + A), and paste it into notepad to see
under which conditions the second row shows up.
<table border="1">
<tr><td onclick="test('dktk')">Click here to make it <span
id="replace">visibility:visible, display:none</span></td></tr>
<tr><td id="dktk" style="display:none; visibility:hidden;">HHHHHH</
td></tr>
<tr><td>There are 2 rows above here</td></tr>
</body>
</html>
Jun 27 '08 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Spizzat2 wrote:
I've got a web page with some hidden elements that can be shown
through various methods. What I'd like is, when the user tries to copy
the visible stuff on the page, it doesn't copy the hidden stuff in
between. Is there a simple way to do this? I know I could move the
whole element using some DOM scripting, but I'd really like to do it
just using something similar to style.visibility=hidden.

Any suggestions?

Here's some basic code to tinker with:

<html>
<head>
<script type="text/Javascript">
var step = 0;
function test(elem){
elem = document.getElementById(elem);
if(step == 0){
elem.style.visibility = "visible";
document.getElementById("replace").innerHTML = "visibility:visible,
display:'' &nbsp;";
step = 1;
}else if(step == 1){
elem.style.display = "";
document.getElementById("replace").innerHTML = "visibility:hidden;
display:'' &nbsp;";
step = 2;
}else if(step == 2){
elem.style.visibility = "hidden";
document.getElementById("replace").innerHTML = "visibility:hidden;
display:none";
step = 3;
}else{
elem.style.display = "none";
document.getElementById("replace").innerHTML = "visibility:visible;
display:none";
step = 0;
}}

</script>

</head>
<body>
Highlight the whole page (Ctrl + A), and paste it into notepad to see
under which conditions the second row shows up.
<table border="1">
<tr><td onclick="test('dktk')">Click here to make it <span
id="replace">visibility:visible, display:none</span></td></tr>
<tr><td id="dktk" style="display:none; visibility:hidden;">HHHHHH</
td></tr>
<tr><td>There are 2 rows above here</td></tr>
</body>
</html>
I believe it's not possible without DOM/innerHTML/etc. techniques (and
actually I can't think of a good reason why you would be interested in
this).

http://www.w3schools.com/css/pr_class_display.asp
http://www.w3schools.com/CSS/pr_class_visibility.asp

--
Bart
Jun 27 '08 #2

P: n/a
The reason is that there's a lot of information associated with the
rows on the page, so I don't want it all displayed all the time, and
there's a good chance of the user copying/pasting multiple rows into
an email, and the users don't want all the extra information showing
up in the email.

Thanks for the response, though. I figured I'd have to do it the hard
way if I was going that direction.

On May 8, 2:40 am, Bart Van der Donck <b...@nijlen.comwrote:
Spizzat2 wrote:
I've got a web page with some hidden elements that can be shown
through various methods. What I'd like is, when the user tries to copy
the visible stuff on the page, it doesn't copy the hidden stuff in
between. Is there a simple way to do this? I know I could move the
whole element using some DOM scripting, but I'd really like to do it
just using something similar to style.visibility=hidden.
Any suggestions?
Here's some basic code to tinker with:
<html>
<head>
<script type="text/Javascript">
var step = 0;
function test(elem){
elem = document.getElementById(elem);
if(step == 0){
elem.style.visibility = "visible";
document.getElementById("replace").innerHTML = "visibility:visible,
display:'' &nbsp;";
step = 1;
}else if(step == 1){
elem.style.display = "";
document.getElementById("replace").innerHTML = "visibility:hidden;
display:'' &nbsp;";
step = 2;
}else if(step == 2){
elem.style.visibility = "hidden";
document.getElementById("replace").innerHTML = "visibility:hidden;
display:none";
step = 3;
}else{
elem.style.display = "none";
document.getElementById("replace").innerHTML = "visibility:visible;
display:none";
step = 0;
}}
</script>
</head>
<body>
Highlight the whole page (Ctrl + A), and paste it into notepad to see
under which conditions the second row shows up.
<table border="1">
<tr><td onclick="test('dktk')">Click here to make it <span
id="replace">visibility:visible, display:none</span></td></tr>
<tr><td id="dktk" style="display:none; visibility:hidden;">HHHHHH</
td></tr>
<tr><td>There are 2 rows above here</td></tr>
</body>
</html>

I believe it's not possible without DOM/innerHTML/etc. techniques (and
actually I can't think of a good reason why you would be interested in
this).

http://www.w3schools.com/css/pr_clas...visibility.asp

--
Bart
Jun 27 '08 #3

This discussion thread is closed

Replies have been disabled for this discussion.