Dart API Referencedart:htmlHistory

History class

Returns a reference to the History object, which provides an interface for manipulating the browser session history (pages visited in the tab or frame that the current page is loaded in).
@DomName('History')
class History implements HistoryBase native "History" {

 /**
  * Checks if the State APIs are supported on the current platform.
  *
  * See also:
  *
  * * [pushState]
  * * [replaceState]
  * * [state]
  */
 static bool get supportsState => JS('bool', '!!window.history.pushState');

 @DomName('History.length')
 @DocsEditable
 final int length;

 dynamic get state => _convertNativeToDart_SerializedScriptValue(this._get_state);
 @JSName('state')
 @DomName('History.state')
 @DocsEditable
 @annotation_Creates_SerializedScriptValue
 @annotation_Returns_SerializedScriptValue
 final dynamic _get_state;

 @DomName('History.back')
 @DocsEditable
 void back() native;

 @DomName('History.forward')
 @DocsEditable
 void forward() native;

 @DomName('History.go')
 @DocsEditable
 void go(int distance) native;

 @DomName('History.pushState')
 @DocsEditable
 @SupportedBrowser(SupportedBrowser.CHROME)
 @SupportedBrowser(SupportedBrowser.FIREFOX)
 @SupportedBrowser(SupportedBrowser.IE, '10')
 @SupportedBrowser(SupportedBrowser.SAFARI)
 void pushState(Object data, String title, [String url]) native;

 @DomName('History.replaceState')
 @DocsEditable
 @SupportedBrowser(SupportedBrowser.CHROME)
 @SupportedBrowser(SupportedBrowser.FIREFOX)
 @SupportedBrowser(SupportedBrowser.IE, '10')
 @SupportedBrowser(SupportedBrowser.SAFARI)
 void replaceState(Object data, String title, [String url]) native;
}

Extends

Interceptor > History

Implements

HistoryBase

Static Properties

final bool supportsState #

Checks if the State APIs are supported on the current platform.

See also:

static bool get supportsState => JS('bool', '!!window.history.pushState');

Properties

final int hashCode #

inherited from Interceptor

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

docs inherited from Object
int get hashCode => Primitives.objectHashCode(this);

final int length #

Read-only. Returns the number of elements in the session history, including the currently loaded page. For example, for a page loaded in a new tab this property returns 1.
final int length

final Type runtimeType #

inherited from Interceptor

A representation of the runtime type of the object.

docs inherited from Object
Type get runtimeType => getRuntimeType(this);

final state #

dynamic get state => _convertNativeToDart_SerializedScriptValue(this._get_state);

Operators

bool operator ==(other) #

inherited from Interceptor

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

docs inherited from Object
bool operator ==(other) => identical(this, other);

Methods

void back() #

Goes to the previous page in session history, the same action as when the user clicks the browser's Back button. Equivalent to history.go(-1).

Note: Calling this method to go back beyond the first page in the session history has no effect and doesn't raise an exception.
@DomName('History.back')
@DocsEditable
void back() native;

void forward() #

Goes to the next page in session history, the same action as when the user clicks the browser's Forward button; this is equivalent to history.go(1).

Note: Calling this method to go back beyond the last page in the session history has no effect and doesn't raise an exception.
@DomName('History.forward')
@DocsEditable
void forward() native;

void go(int distance) #

Loads a page from the session history, identified by its relative location to the current page, for example -1 for the previous page or 1 for the next page. When integerDelta is out of bounds (e.g. -1 when there are no previously visited pages in the session history), the method doesn't do anything and doesn't raise an exception. Calling go() without parameters or with a non-integer argument has no effect (unlike Internet Explorer, which supports string URLs as the argument).
@DomName('History.go')
@DocsEditable
void go(int distance) native;

dynamic noSuchMethod(Invocation invocation) #

inherited from Interceptor

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod in an Invocation. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

docs inherited from Object
dynamic noSuchMethod(Invocation invocation) {
 throw new NoSuchMethodError(
     this,
     _symbolToString(invocation.memberName),
     invocation.positionalArguments,
     _symbolMapToStringMap(invocation.namedArguments));
}

void pushState(Object data, String title, [String url]) #

Pushes the given data onto the session history stack with the specified title and, if provided, URL. The data is treated as opaque by the DOM; you may specify any JavaScript object that can be serialized.  Note that Firefox currently ignores the title parameter; for more information, see manipulating the browser history.

Note: In Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1) through Gecko 5.0 (Firefox 5.0 / Thunderbird 5.0 / SeaMonkey 2.2) , the passed object is serialized using JSON. Starting in Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3) , the object is serialized using the structured clone algorithm. This allows a wider variety of objects to be safely passed.
@DomName('History.pushState')
@DocsEditable
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
void pushState(Object data, String title, [String url]) native;

void replaceState(Object data, String title, [String url]) #

Updates the most recent entry on the history stack to have the specified data, title, and, if provided, URL. The data is treated as opaque by the DOM; you may specify any JavaScript object that can be serialized.  Note that Firefox currently ignores the title parameter; for more information, see manipulating the browser history.

Note: In Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1) through Gecko 5.0 (Firefox 5.0 / Thunderbird 5.0 / SeaMonkey 2.2) , the passed object is serialized using JSON. Starting in Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3) , the object is serialized using the structured clone algorithm. This allows a wider variety of objects to be safely passed.
@DomName('History.replaceState')
@DocsEditable
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
void replaceState(Object data, String title, [String url]) native;

String toString() #

inherited from Interceptor

Returns a string representation of this object.

docs inherited from Object
String toString() => Primitives.objectToString(this);

This page includes content from the Mozilla Foundation that is graciously licensed under a Creative Commons: Attribution-Sharealike license. Mozilla has no other association with Dart or dartlang.org. We encourage you to improve the web by contributing to The Mozilla Developer Network.