我已經創建了一個界面,允許用戶通過某個網頁發送特定個人信息。爲此,我正在利用Twitter的網絡意圖。起初,頁面有一個textarea,它包含一個佔位符tweet,當用戶點擊一個Reply按鈕時,這個tweet被作爲文本參數傳遞,但是範圍已經改變,所以用戶應該能夠在textarea中輸入文本,點擊按鈕,然後查看Twitter彈出式窗口及其更新後的推文,因爲用戶測試表明,如果用戶無法編輯頁面上的內容,他們不太可能向用戶發送推文。Twitter有意鏈接無法在新窗口中打開
問題是,雖然此代碼確實更新了Twitter意向鏈接,但它似乎破壞了Twitter意向鏈接的某些功能。最值得注意的是,這些鏈接並不像通常那樣在一個小的彈出框中打開 - 而是替換當前頁面。此外,「in_reply_to」功能是間歇性的 - 某些應該包含推文回覆的鏈接不會,而其他鏈接則可以。
任何人都試圖做這樣的事情?如果是這樣,有什麼建議嗎?我現在處於虧損狀態。
的HTML(我們使用Django,因此模板邏輯):
<div class="response">
{%if quote.tweet_id%}
<textarea id="twitter_response_text" class="has_tweet_id" maxlength="140">{{quote.twitter_handle}} {{quote.twitter_text_default}}</textarea>
<label for="twitter_response_text"><span></span></label>
<a class="hasReply" data-tweet-id="{{quote.tweet_id}}" href="https://twitter.com/intent/tweet?in_reply_to="><button value="respond" data-quote-id="{{quote.id}}"/><img src="{{STATIC_URL}}img/reply_arrow.png"> Reply</button></a>
{%else%}
<textarea id="twitter_response_text" maxlength="140">{{quote.twitter_text_default}}</textarea>
<label for="twitter_response_text"><span></span></label>
<a href="https://twitter.com/intent/tweet?text="><button value="reply" data-quote-id="{{quote.id}}" /><img src="{{STATIC_URL}}img/reply_arrow.png"> Reply</button></a>
{%endif%}
</div>
的Javascript:
$(".response a, .twitteraction a").on("click", function() {
//get text from the textarea of the current slide
var textarea = $(this).parents(".slide").find("#twitter_response_text")
if (textarea.val() !== "") {
text = textarea.val();
} else {
text = textarea.text();
}
//maybe we need the handle?
// var handle = $(this).parents(".slide").find("#twitterhandle").text();
//get the link
var link = $(this).attr("href");
//check to see if it needs reply link or regular
if ($(this).hasClass("hasReply")) {
//get the tweet id, stored as data attribute in the anchor
var tweetId = $(this).data("tweet-id");
//construct the query with a twitter id but no handle
var query = encodeURIComponent(tweetId) + "&text=" + encodeURIComponent(text) + "&related=ForecastFacts&original_referer=http://climatecliff.org/";
//add link to anchor
$(this).attr("href", (link + query));
} else {
//construct the query with text and related
var query = encodeURIComponent(text) + "&related=ForecastFacts&original_referer=http://climatecliff.org/";
//add query to anchor
$(this).attr("href", (link + query));
}
});
是'target =「_ blank」'夠好嗎? – 2012-12-14 20:12:27
不 - 我希望!客戶特別需要彈出式窗口,因爲擔心打開新選項卡會使人不想在多人處發送推文。它也沒有解決爲什麼網絡意圖的預期行爲沒有發生的問題。 –
告訴你的客戶,任何體面的瀏覽器都會捕獲'window.open()'作爲其反彈出系統的一部分... – 2012-12-14 20:15:19