2011-11-10 21 views
5

मेरे पास मेरे टंबलर खाते से जुड़े कुछ ब्लॉग हैं, लेकिन bookmarklet हमेशा मेरा "प्राथमिक" ब्लॉग (सूची में पहला वाला) चुनता है।मैं एक विशिष्ट टंबलर ब्लॉग पर पोस्ट करने के लिए टंबल बुकमार्लेट को कैसे संशोधित कर सकता हूं?

मैं बुकमार्कलेट को कैसे संशोधित कर सकता हूं ताकि यह एक विशिष्ट ब्लॉग को स्वतः चुन सके? मैं एकाधिक बुकमार्कलेट लिंक चाहता हूं, उदा। । "Blog1 पर साझा करें", ताकि मैं मैन्युअल रूप से जो ब्लॉग में पोस्ट बनाने के लिए चयन करने के लिए नहीं है "blog2 पर साझा करें"

डिफ़ॉल्ट Tumblr bookmarklet इस तरह दिखता है:

javascript: var d = document, 
    w = window, 
    e = w.getSelection, 
    k = d.getSelection, 
    x = d.selection, 
    s = (e ? e() : (k) ? k() : (x ? x.createRange().text : 0)), 
    f = 'http://www.tumblr.com/share', 
    l = d.location, 
    e = encodeURIComponent, 
    p = '?v=3&u=' + e(l.href) + '&t=' + e(d.title) + '&s=' + e(s), 
    u = f + p; 
try { 
    if (!/^(.*\.)?tumblr[^.]*$/.test(l.host)) throw (0); 
    tstbklt(); 
} catch (z) { 
    a = function() { 
     if (!w.open(u, 't', 'toolbar=0,resizable=0,status=1,width=450,height=430')) l.href = u; 
    }; 
    if (/Firefox/.test(navigator.userAgent)) setTimeout(a, 0); 
    else a(); 
} 
void(0) 
+1

महान प्रश्न। जवाब जानना अच्छा लगेगा। – jnthnclrk

+0

क्या आप संयोजन के रूप में GreaseMonkey स्क्रिप्ट का उपयोग करने के लिए खुले रहेंगे? –

+0

क्या Greasemonkey मोबाइल ब्राउज़र पर काम करता है? – jnthnclrk

उत्तर

1

बुकमार्कलेट दें एक 'channel_id' पोस्ट पैरामीटर है जो 'example_blog_name'example_blog_name.tumblr.com

javascript: var d = document, 
    w = window, 
    e = w.getSelection, 
    k = d.getSelection, 
    x = d.selection, 
    s = (e ? e() : (k) ? k() : (x ? x.createRange().text : 0)), 
    f = 'http://www.tumblr.com/share', 
    l = d.location, 
    e = encodeURIComponent, 
    c = 'example_blog_name', 
    p = '?v=3&u=' + e(l.href) + '&t=' + e(d.title) + '&s=' + e(s) + '&channel_id=' + e(c), 
    u = f + p; 
+1

मैं इसे बिल्कुल काम नहीं कर सका। – jnthnclrk

+0

@trnsfrmr त्रुटि क्या थी? आपके अनुरोध के साथ पारित क्वेरी स्ट्रिंग क्या थी? "मैं इसे बिल्कुल काम नहीं कर सका" यदि आप वास्तव में काम करने के लिए वास्तव में कोशिश कर रहे हैं तो बहुत रचनात्मक नहीं है। – KyleWpppd

+0

मुझे अनुरोध अस्वीकार कर दिया गया है, तस्वीर देखें: http://imgur.com/TgwtD। @KyleWppd, क्या यह आपके लिए काम करता है? – jnthnclrk

1

एक उपयोगकर्ता स्क्रिप्ट का एक संयोजन है, और बुकमार्कलेट के लिए एक छोटे से फेरबदल का उपयोग में, यहाँ अपने समाधान है:

01,235,

एक UserScript के रूप में इस स्थापित करें:

var selectOption = function (elem, value) { 
    var options = elem.options; 
    for(var i = 0; i < options.length; i++){ 
     if(options[i].innerHTML === value){ 
      elem.selectedIndex = i; 
     } 
    } 
}; 

window.onload = function(){ 
    if(location.href.indexOf('tumblr.com/share') !== -1){ 
     selectOption(document.getElementById('channel_id'), location.hash.slice(1)); 
    } 
}; 

सहेजें इस संपादन BLOG_NAME चर के बाद अपने बुकमार्कलेट के रूप में। इसे ठीक तरह टाइप करें क्योंकि यह ड्रॉपडाउन में है। साथ ही, आपको इसे एक बुकमार्कलेट बनाने के लिए शायद UglifyJS के माध्यम से इसे चलाने की आवश्यकता होगी।

javascript: var BLOG_NAME = 'Test', 
    d = document, 
    w = window, 
    e = w.getSelection, 
    k = d.getSelection, 
    x = d.selection, 
    s = (e ? e() : (k) ? k() : (x ? x.createRange().text : 0)), 
    f = 'http://www.tumblr.com/share', 
    l = d.location, 
    e = encodeURIComponent, 
    p = '?v=3&u=' + e(l.href) + '&t=' + e(d.title) + '&s=' + e(s), 
    u = f + p; 
try { 
    if (!/^(.*\.)?tumblr[^.]*$/.test(l.host)) throw (0); 
    tstbklt(); 
} catch (z) { 
    a = function() { 
     if (!w.open(u + '#' + BLOG_NAME, 't', 'toolbar=0,resizable=0,status=1,width=450,height=430')) l.href = u; 
    }; 
    if (/Firefox/.test(navigator.userAgent)) setTimeout(a, 0); 
    else a(); 
} 
void(0); 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^