Prevent copy of hidden elements

S

Spizzat2

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>
 
B

Bart Van der Donck

Spizzat2 said:
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
 
S

Spizzat2

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,062
Latest member
OrderKetozenseACV

Latest Threads

Top