verbergen hyperlink
In mijn php-script geef ik de instructie:
echo '<td><a href="mijnbestand.pdf" target="_blank">tekst</td>';
Deze opdracht plaatst de gegevens netjes op het scherm en bij het aanklikken van het veld wordt mooi het pdf-formulier in een apart scherm geprojecteerd.
Bij het hooveren van het veld wil ik de link-gegevens, links onder in het scherm, verbergen.
Heeft hiervoor iemand een mooie oplossing?
Gewijzigd op 05/03/2017 17:27:57 door - Ariën -
Wat weer verschilt per browser. En of je die wel of niet kan tonen of verbergen.
Ik stel het niet op prijs wanneer een webpagina de browserinstellingen verandert.
Gewijzigd op 05/03/2017 17:43:05 door Adoptive Solution
Zet er ook eens een </a> bij, wel zo netjes.
echo '<td><a href="mijnbestand.pdf" target="_blank">tekst</a></td>';
- Ariën - op 05/03/2017 17:27:29:
En met welke reden? De bestandsnaam is dan toch eenvoudig te bekijken via bijv. 'view-source'.
Geeft een onrustig beeld en voegt niets toe aan de informatie die ik verstrek.
Dat vind jij, maar vinden de andere gebruikers dat ook? Ik zou het lekker laten zoals het is. Volgens mij kan je de statusbalk niet eens meer manipuleren.
- Ariën - op 05/03/2017 18:30:47:
Volgens mij kan je de statusbalk niet eens meer manipuleren.
Gesteld dat het kan, open ik deze pagina nooit meer. Mijn PC: Mijn instellingen
Kijk sec naar je probleem omschrijving minder elegant met een button:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html>
<html>
<body>
<p>Click the button to open a new browser window.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
window.open("https://www.w3schools.com");
}
</script>
</body>
</html>
<html>
<body>
<p>Click the button to open a new browser window.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
window.open("https://www.w3schools.com");
}
</script>
</body>
</html>
In IE11 krijg je wel een melding of je een ActiveX besturings element wil uitvoeren.
Bij Edge werkt dit gewoon. Andere brouwsers kan ik even niet testen, want die heb ik op deze laptop niet staan.
EDIT
Nog ranziger:
Code (php)
1
2
3
2
3
<a onclick="window.open(document.URL, '_blank', 'location=yes,height=570,width=520,scrollbars=yes,status=no');">
Share Page
</a>
Share Page
</a>
Gewijzigd op 06/03/2017 08:50:39 door Bart V B
Dat is er toen uitgesloopt, omdat je op geen enkele manier kon zien dat een link die zei naar "disney.com" te gaan, in werkelijkheid naar evilhackers.org gaat.
Bart V B op 06/03/2017 08:44:38:
Ik ga me niet mengen in de discussie of het gewenst is of niet.
Kijk sec naar je probleem omschrijving minder elegant met een button:
In IE11 krijg je wel een melding of je een ActiveX besturings element wil uitvoeren.
Bij Edge werkt dit gewoon. Andere brouwsers kan ik even niet testen, want die heb ik op deze laptop niet staan.
EDIT
Nog ranziger:
Kijk sec naar je probleem omschrijving minder elegant met een button:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html>
<html>
<body>
<p>Click the button to open a new browser window.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
window.open("https://www.w3schools.com");
}
</script>
</body>
</html>
<html>
<body>
<p>Click the button to open a new browser window.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
window.open("https://www.w3schools.com");
}
</script>
</body>
</html>
In IE11 krijg je wel een melding of je een ActiveX besturings element wil uitvoeren.
Bij Edge werkt dit gewoon. Andere brouwsers kan ik even niet testen, want die heb ik op deze laptop niet staan.
EDIT
Nog ranziger:
Toevoeging op 07/03/2017 18:41:07:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$bestand = "";
$bestand1 = "testbestand.pdf";
$bestand2 = "testbestand - kopie.pdf";
$methode1A = "methode1A";
$methode1B = "methode1B";
$methode2 = "methode2";
?>
$bestand = "";
$bestand1 = "testbestand.pdf";
$bestand2 = "testbestand - kopie.pdf";
$methode1A = "methode1A";
$methode1B = "methode1B";
$methode2 = "methode2";
?>
<!DOCTYPE html>
<html>
<body>
<p>Test onclick</p>
<!-- methode 1 -->
<button onclick="myFunction("")"></button>
<button onclick="myFunction("")")"></button>
<!-- methode 2 -->
<a onclick="window.open("", '_blank', 'location=yes, height=570, width=520, scrollbars=yes, status=no')">
</a>
<script type="text/javascript">
function myFunction(FileToOpen)
{
alert (FileToOpen);
window.open(FileToOpen);
}
</script>
</body>
</html>
Hallo Bart,
Dank voor je reactie.
Ik krijg toch niet het gewenste resultaat, hws door mijn gebrek aan java kennis.
In methode1 probeer ik via een parameter het te openen bestand door te geven.
Zonder parameters en met window.open(""); geeft wel een weergave van het bestand. Maar dit is statisch maar het zou dynamisch moeten.
Kun je me hierbij ook helpen?
Alvast dank
Methode2 geeft geen enkel resultaat.
Maar zoals ik en Ivo al zeiden is dit niet meer mogelijk om de statusbalk naar eigen believen aan te passen. Waar je vroeger zelf hele lichtkranten en eigen teksten op kun invullen, is dit nu alleen maar de waarheid van je browser. Stel je voor dat ik een link naar een fake bankwebsite zou plaatsen met een statusbalk-tekst met http://www.rabobank.nl. Dé ideale ingrediënten voor phishing!
En om verder een vergissing uit de weg te ruimen. Java, wat je noemt staat er los van. Jij hebt het over JavaScript. Beiden zijn totaal twee verschillende dingen die je niet met elkaar kan vergelijken.
Gewijzigd op 07/03/2017 20:32:03 door - Ariën -
Rechts of links onder zie je dat toch helemaal niet meer?
Bij IE, Edge, en Chrome met standaard instellingen is daar niets te zien links onder hoor.
Als we het hebben over de status balk met de url er in, dan kan je die niet wegwerken inderdaad.
Om op je tweede vraag een antwoord te geven:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
<body>
<?php $data = array('aa.pdf','bb.pdf', 'cc.pdf'); ?>
<p>Click the button to open a new browser window.</p>
<?php foreach ($data as $key=> $value): ?>
<p>
<a onclick="window.open('http://domain.tld/<?php echo $value;?>', '_blank', 'location=yes,height=570,width=520,scrollbars=yes,status=no');"> pdf bestand</a>
</p>
<?php endforeach;?>
</body>
</html>
<html>
<body>
<?php $data = array('aa.pdf','bb.pdf', 'cc.pdf'); ?>
<p>Click the button to open a new browser window.</p>
<?php foreach ($data as $key=> $value): ?>
<p>
<a onclick="window.open('http://domain.tld/<?php echo $value;?>', '_blank', 'location=yes,height=570,width=520,scrollbars=yes,status=no');"> pdf bestand</a>
</p>
<?php endforeach;?>
</body>
</html>
En met een button:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html>
<body>
<?php $data = array('aa.pdf','bb.pdf', 'cc.pdf'); ?>
<p>Click the button to open a new browser window.</p>
<?php foreach ($data as $key=> $value): ?>
<p><button onclick="myFunction('http://domain.tld/<?php echo $value;?>')"><?php echo $value;?></button></p>
<?php endforeach;?>
<script>
function myFunction(OpenIt) {
window.open(document.OpenIt, 'location=yes,height=570,width=520,scrollbars=yes,status=no');
}
</script>
</body>
</html>
<html>
<body>
<?php $data = array('aa.pdf','bb.pdf', 'cc.pdf'); ?>
<p>Click the button to open a new browser window.</p>
<?php foreach ($data as $key=> $value): ?>
<p><button onclick="myFunction('http://domain.tld/<?php echo $value;?>')"><?php echo $value;?></button></p>
<?php endforeach;?>
<script>
function myFunction(OpenIt) {
window.open(document.OpenIt, 'location=yes,height=570,width=520,scrollbars=yes,status=no');
}
</script>
</body>
</html>
Gewijzigd op 08/03/2017 09:35:29 door Bart V B
Jij bent diegene die de statusbalk uit wilt schakelen. Misschien is er een verborgen setting voor in Chrome of Firefox die dit kan doen.
Bart V B op 08/03/2017 09:25:44:
Ik begrijp eigenlijk nog steeds waarom iedereen over dat hoveren valt.
Rechts of links onder zie je dat toch helemaal niet meer?
Bij IE, Edge, en Chrome met standaard instellingen is daar niets te zien links onder hoor.
Rechts of links onder zie je dat toch helemaal niet meer?
Bij IE, Edge, en Chrome met standaard instellingen is daar niets te zien links onder hoor.
Er is inderdaad geen statusbalk meer, maar in Chrome, Firefox en Edge zie je bij het aanwijzen van een hyperlink linksonder wel degelijk een kleine tooltip met de URL.
Deze code werkt niet, maar het leek er wel op
Zal er nog eens naar kijken, want ik vind die instelling niet zo snel.
@Rob, met void kan je aan een undefined iets toekennen.
Voorbeeld:
Groten dank voor jullie antwoorden/opmerkingen, ik leer overal van.
Vooral dank aan Bart.
Beide methodes aan de praat; hws implementeer ik de ranzigste.
Groeten
Is het echter een publieke website, dan jaag je mensen weg. Het bewust verbergen van zaken roept (terecht) argwaan op, en mensen zullen je site verlaten.
On that note: ik vraag me af wat verschillende extensies van bijvoorbeeld virusscanners ermee doen.
Zolang het niet direct schadelijk is, zullen ze er niks mee doen.
Zo kan de aangeroepen site via windows.opener.location het window waarin jouw website is geopend redirecten naar bijvoorbeeld een phishing-pagina. Dat zijn best ongewenste gedragingen. ;-) Als je googlet op "_blank vulnerability" vind je vrij eenvoudig een paar voorbeelden waarin dit is uitgewerkt.
Gelukkig kun je dit eenvoudig voorkomen door rel="noopener noreferrer" in je link op te nemen. Dus bijvoorbeeld: