【问题标题】:How can I make a button like 'Digg it' for my website?如何为我的网站制作像“Digg it”这样的按钮?
【发布时间】:2009-01-04 10:49:49
【问题描述】:

我有一个博客站点托管在 Windows Sever、ASP.Net 3.5、ASP.Net AJAX、后台 SQL Server 上。

我想给博主一个像“digg-it”这样的按钮,他们可以把它放在他们的博客上,如果他们喜欢的话,读者可以点击并点赞。

我知道我将使用 Javascript 来做到这一点。我能做些什么:-

  1. 从我的网站检索代码,该代码将显示当前点赞数。
  2. 如果用户点赞,则增加我网站上的计数。

由于这些博客大部分都在 blogger.com/wordpress.com 上,因此插件代码将嵌入博客主题中。我想我将使用博客文章的 URL 作为唯一 ID。我的问题是如何让我的网站和 blogger.com 上的 javascript 说话。

您的帮助将不胜感激。

谢谢

【问题讨论】:

    标签: .net javascript web-services


    【解决方案1】:

    您可以考虑使用 SCRIPT 回调加载 JSON 数据,而不是使用 XmlHttpRequest 来解决跨域问题。

    function dynScript(url){
        var script=document.createElement('script');
        script.src=url;
        script.type="text/javascript";
        document.getElementsByTagName('head')[0].appendChild(script);
    }
    function handleYourData(json) {
        // Do something with your response data if you need to, like alter
        // dom.
    }
    function thumbUp(postId) {
        dynScript('http://yourdomain.com/path/to/thumbHandler?callback=handleYourData&thumbs=up&postId=' + postId);
    }
    function thumbDown(postId) {
        dynScript('http://yourdomain.com/path/to/thumbHandler?callback=handleYourData&thumbs=down&postId=' + postId);
    }
    

    您可以在 HTML 中像这样使用它。

    <a onClick="thumbUp(521);">Thumb up</a> | <a onClick="thumbDown(521);">Thumb Down</a>
    

    您的thumbHandler 代码必须输出带有handleYourData() 包裹的JSON,以便使用JSON 数据作为参数调用您的回调。

    【讨论】:

    • 伪代码,没有实际测试,但希望它能给你一个好的起点!
    【解决方案2】:

    试试这个。我在雅虎上找到它!搜索,因为我知道,这个脚本有德语版本:

    英文版:http://www.socialbookmarkscript.com/

    德语脚本:http://www.social-bookmark-script.de/

    祝你好运!

    【讨论】:

      【解决方案3】:

      好的,我得到了一个答案,当我尝试这种方法时,我发现了一些更简单的方法。

      我要使用的是 iframe。 iframe 就像浏览器中的浏览器窗口。我在 iframe 中呈现的代码将在内部访问我的网站,就好像它是一个常规的网页请求一样。所以我可以使用我的 Web 服务、我的后台 ASP.Net 代码以及我想要的一切,而不必担心会弄乱主机网站。

      当我完成开发后,我会在这里发布一些代码。同时,如果你们知道这种方法的任何陷阱,请告诉我。

      这是我编写的一些示例 iframe 代码

      <script type="text/javascript">
          window.onload = function() {
              alert("http://mysite.com?url=" + window.location.href);
              document.all.blogvaniframe.src = "http://blogvani.com";
          }
      </script>
      <iframe id="blogvaniframe" height="100" width="100" scrolling="no" frameborder="0">
      
      </iframe>
      

      我正在使用 javascript 加载 iframe 中的内容,因为我想将参数传递给 url 的查询字符串(虽然还没有测试过。

      谢谢

      【讨论】:

      • 如果您不介意我问,您不喜欢这个答案的什么地方?它应该为您提供几乎任何您想做的事情的灵活性,但也许我误解了最初的问题。
      • 我的答案完全没有问题,博。我刚刚发现使用 iframe 更容易:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      • 1970-01-01
      • 1970-01-01
      • 2020-05-27
      • 2023-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多