-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
JavaScript Binding API
The Javascript methods that CefSharp provides in relation to JavaScript Binding are detailed below.
Duplicate methods are provided with different case to suite your preferred coding style.
You can use CefSharp.BindObjectAsync or cefSharp.bindObjectAsync depending on your preference.
Bind the object that matches objectName, the IJavascriptObjectRepository.ResolveObject will be raised with args.ObjectName equal to objectName. If no objectName is provided then All will be passed as args.ObjectName
| Param | Optional | Remarks |
|---|---|---|
| settings | yes | A set of key/value pairs that configure the default binding settings. |
| objectName | yes | Name of the object you wish to bind, if no name is provided then All objects will be bound |
Returns: a Promise that can be awaited.
| Settings | Optional | Remarks |
|---|---|---|
| NotifyIfAlreadyBound | yes | boolean (true/false). If true then triggers the IJavascriptObjectRepository.ObjectBoundInJavascript event even if the object is already bound (by default the event will not be called if an object is already bound). . |
| IgnoreCache | yes | If true then the local cache will be ignored and the request to the IJavascriptObjectRepository will be made |
Example 1
(async function()
{
//`IJavascriptObjectRepository.ResolveObject` will be called with `args.ObjectName` of `All`.
await CefSharp.BindObjectAsync();
//Objects will have been bound, you can now access them
})();Example 2
(async function()
{
await CefSharp.BindObjectAsync("boundAsync");
//Object with name boundAsync will have been bound, you can now access
})();Example 3
(async function()
{
await CefSharp.BindObjectAsync({ NotifyIfAlreadyBound: true, IgnoreCache: true }, "boundAsync2");
//Object with name boundAsync2 will have been bound, you can now access them.
// Cache will have been ignored and notification in `.Net` will have been provided through `IJavascriptObjectRepository.ObjectBoundInJavascript`
})();Deletes the object that matches objectName
| Param | Optional | Remarks |
|---|---|---|
| objectName | no | Name of the object to be deleted |
Returns: bool, true if successful otherwise false
Example 1
CefSharp.DeleteBoundObject("boundAsync");Removes the object that matches objectName from the cache
| Param | Optional | Remarks |
|---|---|---|
| objectName | no | Name of the object to be removed from the cache |
Returns: bool, true if successful otherwise false
Example 1
CefSharp.RemoveObjectFromCache("boundAsync");
//You can use lowercase version if you like, exactly the same function
cefSharp.removeObjectFromCache("boundAsync");Does an object with name objectName exist in the cache
| Param | Optional | Remarks |
|---|---|---|
| objectName | no | Name of the object |
Returns: bool, true if cached otherwise false
Example 1
CefSharp.IsObjectCached("boundAsync") === true;
//You can use lowercase version if you like, exactly the same function
cefSharp.IsObjectCached("boundAsync") === true;