网站https://www.abeille-cyclotourisme.fr是手工制作的。不是使用Wordpress或任何PHP类型的数据库。
四天前,我在这个论坛上找到了一个非弹出法律声明的解决方案,在线程"添加法律声明"。
早期帖子:Add a legal notice to a website made of separate pages
我改变了脚本的方式,法律通知将在一个单独的窗口打开。
脚本,在"脚本" root用户的文件夹,如下所示:
/* "Contactez nous"
Crée un message comportant l'adresse mail de l'abeille
et un texte dans le champ objet
*/
// Fonction htmlWindow_600
function htmlWindow_600(pagehtml) {
htmlWindow = window.open(pagehtml, "minifenetre", "toolbar=yes,status=yes,menubar=yes,location=yes,scrollbars=yes,resizable=yes,width=600,height=440")
htmlWindow.focus()
}
// Définition d'une variable contenant le début du code HTML
var liencontact="<a href='mailto:";
/* Ajout des différents éléments de l'adresse mail
dans la variable
*/
liencontact +="abeille-cyclotourisme";
liencontact +="@";
liencontact +="abeille-cyclotourisme.fr";
liencontact +="?subject=%5BAbeille%5D%20Demande%20d%27information'>";
// Affichage du lien vers "notice" et du lien mail
document.write("<a href='https://www.abeille-cyclotourisme.fr/notice.html' target='lien'>Notice<\/a> - "+liencontact+"Contactez-nous @<\/a>");
我希望它在比标准页面窄的弹出窗口中打开,这样访问者就可以立即看到他在弹出窗口中。更窄?我为网站的所有弹出窗口选择了600px宽度:所有html弹出窗口都使用脚本htmlwindow_600。
为什么弹出一个?因为法律通知是死路一条。没有链接从它开始,而我希望它可以从任何页面访问 - 更确切地说,从任何页面的页脚。正如我到目前为止,将它作为一个简单的页面看起来很奇怪,因为一旦你在法律上通知,你就想摆脱它。在我看来,关闭弹出窗口似乎是最干净的解决方案,但其他人可能会反对。
BTW:为什么在自行车网站上发出法律声明?因为我们将开始收集我们组织的活动的预注册名称,并相信我们必须(1)尊重我们的访客,(2)为自行车俱乐部和董事提供保护。我已经用上面的脚本语言编写了htmlWindow_600脚本的语言,作为一个信息并方便我的测试,但没有成功使用它,或者打开一个更窄的窗口的任何其他脚本。
我试过了:
document.write("<a href='https://www.abeille-cyclotourisme.fr/notice.html' target='lien' onclick='javascript:htmlWindow_600('https://www.abeille-cyclotourisme.fr/notice.html');return false'>Notice - <\/a>"+liencontact+"Contactez-nous @<\/a>");
使用标准html,它会在点击&#34;注意&#34;时打开一个新窗口,但无法使用htmlWindow_600函数打开弹出窗口。我怎么能治好这个? TIA
答案 0 :(得分:0)
如果允许弹出窗口,它应该有效。更好的解决方案是使用不需要显示权限的对话框。
无论如何,试试这个 - 你的报价需要被转义,但我设法通过传递href来避免:
注意:这两个链接都不起作用,因为一个是mailto而另一个是popup,它们都不允许在stacksnippet沙箱中运行
var liencontact="<a href='mailto:";
/* Ajout des différents éléments de l'adresse mail
dans la variable
*/
liencontact +="abeille-cyclotourisme";
liencontact +="@";
liencontact +="abeille-cyclotourisme.fr";
liencontact +="?subject=%5BAbeille%5D%20Demande%20d%27information'>";
document.write("<a href='https://www.abeille-cyclotourisme.fr/notice.html' target='lien'"+
" onclick='return htmlWindow_600(this.href)'>[Notice]</a> [" + liencontact + "Contactez-nous @</a>]");
function htmlWindow_600(pagehtml) {
var htmlWindow = window.open(pagehtml, "minifenetre", "toolbar,status,menubar,location,scrollbars,resizable,width=600,height=440");
if (htmlWindow) {
htmlWindow.focus();
return false;
}
return true; // this will open the rejected popup in a normal tab instead
}
&#13;
答案 1 :(得分:0)
正如mplungjan所说,弹出窗口不是最好的解决方案。我建议您使用模态,因为您可以根据自己的网站进行设计。 w3schools网站上提供了一个非常简单的示例:https://www.w3schools.com/w3css/w3css_modal.asp
如果您的法律通知很长,您可以使用滚动div或甚至iframe到单独的页面,并在模式中包含法律声明。
答案 2 :(得分:0)
谢谢大家。我试图在原始帖子的编辑中回复guest271314。
garrettlynch建议使用模态。我不知道什么是模态,CSS3是什么。我将了解到,因为在我当前的网站上删除所有存在的弹出窗口,因为我认为值得尊重的原因可能非常有用。
对于garrettlynch和mplungjian的旁注:我同意要避免使用javascript,并且要避免弹出窗口。至少,网站上的所有当前弹出窗口都是可降级的(如果javascript“关闭”,它们仍然在html中执行)并且所有当前的javascript都可降级为html。
然后,mplungjian建议治愈我可怜的javascript并使其可降解。 mplungjian治愈工作,完美。好极了!这将暂时做到。然后我将学习我需要学习的CSS3和模态。非常感谢你们所有人。