【问题标题】:Bit.ly share textbox functionalityBit.ly 共享文本框功能
【发布时间】:2011-08-27 19:36:18
【问题描述】:

有没有人知道 bit.ly 是如何在您完成输入链接后立即替换 textarea 的?

【问题讨论】:

  • 什么意思?它没有被替换,是吗?

标签: javascript bit.ly


【解决方案1】:

我认为 OP 是在询问 bit.ly 如何在不重新加载页面的情况下将长 URL 转换为较短的 URL。这将通过对网页的 AJAX 调用来完成,该网页上运行了一个脚本。

这是我尝试在表单提交上获得类似效果的尝试,我不知道您最感兴趣的是哪个方面。

<script type="text/javascript">
document.getElementById('formElement').onsubmit = "return requestURL();";
function requestURL() {
    var data = document.getElementById('formInputData').value; // get value from <input type="text" id="formInputData />
    if (window.XMLHttpRequest) {
        var request=new XMLHttpRequest(); // code for IE7+, Firefox, Chrome, Opera, Safari
    }
    else {
        var request=new ActiveXObject("Microsoft.XMLHTTP"); // code for IE6, IE5
    }
    request.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        // if the request worked, output the data the server returned (PHP, .net, etc.)
        document.getElementById('serveroutput').innerHTML = result.responseText;
    }
    request.open("GET", "serverscript.ext?data="+data, "true"); // Setup the server request
    request.send(); // Send the request to the server
    return false; // Stops the form from submitting normally
}
</script>

此示例没有安全性、样式或其他特殊内容,但可能会提供更好的想法。
JSON 或类似方法可能用于将数据返回给 JavaScript,然后 JavaScript 会设置样式并显示数据。我无法具体说明 bit.ly 的用途,但如果我尝试类似的 JavaScript 解决方案,我会使用这个想法。

我是如何回答这个问题的?我是否回答了完全不同的问题?我应该扩大答案吗?我问的问题太多了吗? (最后一个问题是)


响应按空格键时的注释,可以使用以下函数将该功能添加到上述代码中。

<script type="text/javascript">
    document.getElementById('formInputData').onkeypress = function() {
        if(document.getElementById('formInputData').value.split('')[-1] === " ") {
            document.getElementById('formInputData').value = document.getElementById('formInputData').value.substring(0, str.length - 1);
            requestURL();
        }
    }
</script>

【讨论】:

  • 从技术上讲,这不是用户键入时,而是在用户提交表单后转换 URL。如果我回答了您的问题,您可以将问题标记为已回答,以便其他人知道它已解决。
  • 不是 bit.ly 的方式,因为用户完成输入网站时,它会自动将长 url 更改为短 url(不提交表单),我猜你的答案不是真的我在找。例如:当我输入“你好,这是我的推特 www.twitter.com/myTwitter 来看看我的推文!”一旦我完成输入“myTwitter”并按下空格,长网址就会更改为短网址。我猜 bit.ly 会在用户按下空格时检查每个单词?
  • 你在 Twitter 上谈论什么吗?在我的电脑上,bitly.com 网站没有响应空格,我需要按下“缩短”按钮。我将更新我的答案以显示如何响应空间。
  • 对不起,我应该澄清一下。是的,我的意思是向您通过 bit.ly 添加的社交媒体分享您的状态。 (所以如果您添加了 facebook 和 twitter,您可以通过 bit.ly 发布)。因此,当您写出消息时,它会自动将您的长网址转换为短网址。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 2021-02-18
  • 2021-12-27
相关资源
最近更新 更多