क्लास google.script.history (Client-side API)

google.script.history एक एसिंक्रोनस क्लाइंट-साइड JavaScript API है, जो ब्राउज़र के इतिहास स्टैक के साथ इंटरैक्ट कर सकता है. इसका इस्तेमाल सिर्फ़ उस वेब ऐप्लिकेशन के संदर्भ में किया जा सकता है जो IFRAME का इस्तेमाल करता है. इसका इस्तेमाल ऐड-ऑन या कंटेनर-स्क्रिप्ट कॉन्टेक्स्ट में साइडबार और डायलॉग के साथ करने के लिए नहीं किया जाना चाहिए. ज़्यादा जानकारी के लिए, वेब ऐप्लिकेशन में ब्राउज़र इतिहास का इस्तेमाल करने से जुड़ी गाइड देखें.

तरीके

तरीकारिटर्न टाइपसंक्षिप्त विवरण
push(stateObject, params, hash) void दिए गए स्टेट ऑब्जेक्ट, यूआरएल पैरामीटर, और यूआरएल फ़्रैगमेंट को ब्राउज़र इतिहास स्टैक पर पुश करता है.
replace(stateObject, params, hash) void ब्राउज़र इतिहास स्टैक के टॉप इवेंट को दिए गए स्टेट ऑब्जेक्ट, यूआरएल पैरामीटर, और यूआरएल फ़्रैगमेंट से बदलता है.
setChangeHandler(function) void ब्राउज़र इतिहास में हुए बदलावों के जवाब देने के लिए, कॉलबैक फ़ंक्शन सेट करता है

ज़्यादा जानकारी के साथ दस्तावेज़

push(stateObject, params, hash)

दिए गए स्टेट ऑब्जेक्ट, यूआरएल पैरामीटर, और यूआरएल फ़्रैगमेंट को ब्राउज़र इतिहास स्टैक पर पुश करता है. स्टेट ऑब्जेक्ट, एक आसान JavaScript ऑब्जेक्ट होता है, जिसे डेवलपर तय करता है. इसमें ऐप्लिकेशन की मौजूदा स्थिति के हिसाब से काम का कोई भी डेटा शामिल हो सकता है. यह तरीका, pushState() JavaScript वाले तरीके से मिलता-जुलता है.

Index.html

var now = new Date();
var state = {
  'timestamp': now.getTime()
};
var params = {
  'options': "none"
};
google.script.history.push(state, params, "anchor1");

पैरामीटर

नामTypeब्यौरा
stateObjectObjectडेवलपर का तय किया गया ऑब्जेक्ट, जिसे ब्राउज़िंग इतिहास के इवेंट से जोड़ा जाता है. यह ऑब्जेक्ट, स्टेटस के पॉप-अप होने पर फिर से दिखने लगता है. आम तौर पर, इसका इस्तेमाल ऐप्लिकेशन की स्थिति की जानकारी (जैसे कि पेज का डेटा) को सेव करने के लिए किया जाता है, ताकि आने वाले समय में डेटा वापस पाया जा सके.
paramsObjectइस स्टेटस से जोड़ने के लिए, यूआरएल पैरामीटर वाला ऑब्जेक्ट. उदाहरण के लिए, {foo: “bar”, fiz: “baz”} के मतलब "?foo=bar&fiz=baz" है. इसके अलावा, अरे इस्तेमाल किए जा सकते हैं: {foo: [“bar”, “cat”], fiz: “baz”}, "?foo=bar&foo=cat&fiz=baz" के बराबर है. अगर शून्य या तय नहीं है, तो मौजूदा यूआरएल पैरामीटर में कोई बदलाव नहीं होता है. अगर इसे खाली छोड़ा जाता है, तो यूआरएल पैरामीटर मिटा दिए जाते हैं.
hashString'#' वर्ण के बाद दिखने वाला स्ट्रिंग यूआरएल फ़्रैगमेंट. अगर शून्य या तय नहीं है, तो मौजूदा यूआरएल फ़्रैगमेंट बदला नहीं जाता. अगर इसे खाली छोड़ा जाता है, तो यूआरएल फ़्रैगमेंट हटा दिया जाता है.


replace(stateObject, params, hash)

यह ब्राउज़र इतिहास स्टैक के टॉप इवेंट को, दिए गए (डेवलपर की ओर से तय किए गए) स्टेट ऑब्जेक्ट, यूआरएल पैरामीटर, और यूआरएल फ़्रैगमेंट से बदलता है. आम तौर पर, यह push() जैसा ही होता है.

Index.html

var now = new Date();
var state = {
  'timestamp': now.getTime()
};
var params = {
  'options': "none"
};
google.script.history.replace(state, params, "anchor1");

पैरामीटर

नामTypeब्यौरा
stateObjectObjectडेवलपर का तय किया गया ऑब्जेक्ट, जिसे ब्राउज़िंग इतिहास के इवेंट से जोड़ा जाता है. यह ऑब्जेक्ट, स्टेटस के पॉप-अप होने पर फिर से दिखने लगता है. आम तौर पर, इसका इस्तेमाल ऐप्लिकेशन की स्थिति की जानकारी (जैसे कि पेज का डेटा) को सेव करने के लिए किया जाता है, ताकि आने वाले समय में डेटा वापस पाया जा सके.
paramsObjectइस स्टेटस से जोड़ने के लिए, यूआरएल पैरामीटर वाला ऑब्जेक्ट. उदाहरण के लिए, {foo: “bar”, fiz: “baz”} के मतलब "?foo=bar&fiz=baz" है. इसके अलावा, अरे इस्तेमाल किए जा सकते हैं: {foo: [“bar”, “cat”], fiz: “baz”}, "?foo=bar&foo=cat&fiz=baz" के बराबर है. अगर शून्य या तय नहीं है, तो मौजूदा यूआरएल पैरामीटर में कोई बदलाव नहीं होता है. अगर इसे खाली छोड़ा जाता है, तो यूआरएल पैरामीटर मिटा दिए जाते हैं.
hashString'#' वर्ण के बाद दिखने वाला स्ट्रिंग यूआरएल फ़्रैगमेंट. अगर शून्य या तय नहीं है, तो मौजूदा यूआरएल फ़्रैगमेंट बदला नहीं जाता. अगर इसे खाली छोड़ा जाता है, तो यूआरएल फ़्रैगमेंट हटा दिया जाता है.

setChangeHandler(function)

ब्राउज़र इतिहास में हुए बदलावों के जवाब देने के लिए, कॉलबैक फ़ंक्शन सेट करता है. कॉलबैक फ़ंक्शन को तर्क के तौर पर, सिर्फ़ एक इवेंट ऑब्जेक्ट लेना चाहिए.

Index.html

google.script.history.setChangeHandler(function (e) {
  console.log(e.state);
  console.log(e.location.parameters);
  console.log(e.location.hash);

  // Adjust web app UI to match popped state here...
});

पैरामीटर

नामTypeब्यौरा
functionFunctionइतिहास में बदलाव वाले इवेंट पर चलाने के लिए, क्लाइंट-साइड कॉलबैक फ़ंक्शन, जिसमें इवेंट ऑब्जेक्ट को सिर्फ़ एक तर्क के तौर पर इस्तेमाल किया जाता है.

इवेंट ऑब्जेक्ट

फ़ील्ड
e.state

पॉप किए गए इवेंट से जुड़ा स्टेट ऑब्जेक्ट. यह ऑब्जेक्ट उस स्टेट ऑब्जेक्ट जैसा है जिसे संबंधित push() या Replace() तरीके में इस्तेमाल किया जाता है. इस तरीके ने इतिहास स्टैक में पॉप की गई स्थिति को जोड़ा है.

{"page":2, "name":"Wilbur"}
e.location

पॉप किए गए इवेंट से जुड़ा लोकेशन ऑब्जेक्ट

{"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}}