向网站添加弹出法律声明

时间:2018-01-19 17:43:22

标签: javascript html

网站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&eacute;rents &eacute;l&eacute;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

3 个答案:

答案 0 :(得分:0)

如果允许弹出窗口,它应该有效。更好的解决方案是使用不需要显示权限的对话框。

无论如何,试试这个 - 你的报价需要被转义,但我设法通过传递href来避免:

注意:这两个链接都不起作用,因为一个是mailto而另一个是popup,它们都不允许在stacksnippet沙箱中运行

&#13;
&#13;
var liencontact="<a href='mailto:";

/* Ajout des diff&eacute;rents &eacute;l&eacute;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;
&#13;
&#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和模态。

非常感谢你们所有人。