javascript值中的Html标记属性值

javascript值中的Html标记属性值,javascript,html,tags,getelementbyid,Javascript,Html,Tags,Getelementbyid,我快疯了,我不太擅长js或html,所以请尝试帮助我。 在我的博客上我想 1) 使用goo.gl服务自动创建短链接 2) 通过按钮在twitter上共享此短链接 我用来缩短链接的js代码 <script type="text/javascript"> var shorturl; var longUrl="http://*****" + "<data:blog.url/>"; var request = gapi.client.urlshor

我快疯了,我不太擅长js或html,所以请尝试帮助我。 在我的博客上我想 1) 使用goo.gl服务自动创建短链接 2) 通过按钮在twitter上共享此短链接 我用来缩短链接的js代码

<script type="text/javascript">
    var shorturl;
      var longUrl="http://*****" + "<data:blog.url/>";
      var request = gapi.client.urlshortener.url.insert({
      'resource': {
      'longUrl': longUrl
         }
       });
       request.execute(function(response) 
       {

        if(response.id != null)
        {
            shorturl=response.id;
        }
        else
        {
            shorturl="<data:blog.url/>";
            alert("error: creating short url n"+ response.error);
        }
        document.getElementById('shorturlid').setAttribute("data-url",shorturl);
    });
    </script>

var-shorturl;
var longUrl=“http://****”+”;
var request=gapi.client.urlshortener.url.insert({
“资源”:{
“longUrl”:longUrl
}
});
请求.执行(函数(响应)
{
if(response.id!=null)
{
shorturl=response.id;
}
其他的
{
shorturl=“”;
警报(“错误:创建短url n”+响应。错误);
}
document.getElementById('shorturlid').setAttribute(“数据url”,shorturl);
});
twitter按钮的代码

<a href="https://twitter.com/share" class="twitter-share-button" id="shorturlid" data-via="*****" data-size="large" data-count="none" data-hashtags="*****">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

!函数(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http://.test(d.location)'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}(document,'script,'twitter wjs');
这只是共享当前页面的url,所以我的代码似乎什么都不做

有什么解决方案吗?

我已经创建了一个,在那里我注意到,一旦执行了twitter脚本,您就无法使用
shorturlid
访问链接

因为它极大地改变了DOM。更好的方法是在准备好缩短的url并将其添加到DOM后调用twitter脚本

我的脚本似乎可以正常工作,但有时会出现以下错误
错误。超出了用户速率限制。
不确定它是什么。也许如果你太频繁地运行脚本

(我使用了jQuery,因为它更容易创建DOM元素。当然,纯JS也应该如此。)

var longurl='1〕http://www.google.com/';
var$tw_链接;
load('urlshortener','v1',function(){
var request=gapi.client.urlshortener.url.insert({
“资源”:{
“longUrl”:longUrl
}
});
var resp=request.execute(函数(resp){
如果(相应错误){
$(“#show”).html('Error.'+resp.Error.message);
}否则{
$(“#show”).html(““+longurl+”的短URL为:“+resp.id”);
var shorturl=resp.id;//document.getElementById('shorturlid').setAttribute(“数据url”,shorturl);//不工作,因为twitter按钮更改了DOM!!
$tw_link=$('');
$tw_link.attr('href','http://twitter.com/share');
$tw_link.addClass('twitter-share-button');
$tw_link.attr('data-url',shorturl);
//var body=document.getElementsByTagName('body');
$('#show')。追加($tw#u链接);
log(短URL,$tw_链接);
loadTwitter();
//警报(短URL);
}
});
});
函数loadTwitter(){
!函数(d、s、id){
var js,fjs=d.getElementsByTagName[0],
p=/^http:/.test(d.location)?'http':'https';
如果(!d.getElementById(id)){
js=d.createElement;
js.id=id;
js.src=p+'://platform.twitter.com/widgets.js';
fjs.parentNode.insertBefore(js,fjs);
}
}(文档“脚本”、“twitter wjs”);
};

thx u,我看到它在JSFIDLE上工作,但当我在我的博客上尝试它时,我发现这个错误无法读取此行gapi.client.setApiKey(apiKey)的属性setapykey;我认为API.google.com/js/client.js“>”上有一个错误。我是否遗漏了什么?我认为它应该在没有API键的情况下工作。只需注释这一行。我不知道为什么会出现错误。但在小提琴中,它没有这一行。现在,gapi.client.load('urlshortener',v1',function(){无法读取属性load,所以现在我确定问题出在client.js上。我想我也有类似的问题。这就是为什么我没有在so添加演示。是的,似乎client.js存在加载问题。您可以尝试更改加载顺序。首先将带有onload的gapi代码放在头中,然后加载client、 js脚本已完成。几乎完成,,未能加载资源:服务器响应状态为400(确定)…我得到的不是“twitt”按钮,而是写入的“Error.Invalid Value”
var longurl = 'http://www.google.com/';
var $tw_link;

gapi.client.load('urlshortener', 'v1', function () {
    var request = gapi.client.urlshortener.url.insert({
        'resource': {
            'longUrl': longurl
        }
    });
    var resp = request.execute(function (resp) {
        if (resp.error) {
            $("#show").html('Error. ' + resp.error.message);
        } else {
            $("#show").html("Short URL for " + longurl + " is: " + resp.id);
            var shorturl = resp.id; //document.getElementById('shorturlid').setAttribute("data-url", shorturl); // not working because twitter button changes DOM!!
            $tw_link = $('<a/>');
            $tw_link.attr('href', 'http://twitter.com/share');
            $tw_link.addClass('twitter-share-button');
            $tw_link.attr('data-url', shorturl);
            //var body = document.getElementsByTagName('body');
            $('#show').append($tw_link);
            console.log(shorturl, $tw_link);
            loadTwitter();
            //alert(shorturl);
        }
    });
});

function loadTwitter() {
    ! function (d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0],
            p = /^http:/.test(d.location) ? 'http' : 'https';
        if (!d.getElementById(id)) {
            js = d.createElement(s);
            js.id = id;
            js.src = p + '://platform.twitter.com/widgets.js';
            fjs.parentNode.insertBefore(js, fjs);
        }
    }(document, 'script', 'twitter-wjs');
};