Changes for page ONEcount Javascript Widgets
Last modified by Admin User on 2025/10/31 14:02
From version 2.1
edited by melanie@one-count_com
on 2016/11/17 13:28
on 2016/11/17 13:28
Change comment:
There is no comment for this version
To version 13.1
edited by Admin User
on 2025/10/31 14:02
on 2025/10/31 14:02
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,0 +1,1 @@ 1 +System Setup Detail and Technical Information - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. melanie@one-count_com1 +XWiki.admin - Content
-
... ... @@ -1,17 +1,17 @@ 1 1 {{layout}} 2 2 {{layout-section ac:type="two_right_sidebar"}} 3 3 {{layout-cell}} 4 +---- 5 + 4 4 (updated 10/12/16) 5 5 6 - 7 7 8 -** all.min.js**: This is the main script that's used for data collection, interacting with ONEcount.9 +**oc.min.js**: This is the main script that's used for data collection, interacting with ONEcount. 9 9 10 10 The main object in this script is called **GCN**. **GCN** contains the following objects: 11 11 12 12 (% style="margin-left: 30.0px;" %) 13 13 **variables**: this is a container for variables that may be used by others objects in GCN 14 -\\ 15 15 16 16 (% style="margin-left: 30.0px;" %) 17 17 **cookie**: utility for interacting with cookies. Contains the following functions: ... ... @@ -24,8 +24,7 @@ 24 24 **set**(**name**, **value**, **options**): create a cookie called **name** with value **value**. **options** is an object which can have **expires**, **path**, **domain** and **secure** properties 25 25 ))) 26 26 * ((( 27 -**remove**(**name**, **options**): removes the cookie **name**. **options** is an object which can have the property **sublevel 28 -\\** 27 +**remove**(**name**, **options**): removes the cookie **name**. **options** is an object which can have the property **sublevel** 29 29 ))) 30 30 ))) 31 31 ... ... @@ -47,8 +47,8 @@ 47 47 ))) 48 48 ))) 49 49 50 - 51 51 50 + 52 52 (% style="margin-left: 30.0px;" %) 53 53 **script**: utility for interacting with scripts. Contains the following functions: 54 54 ... ... @@ -63,7 +63,7 @@ 63 63 **addAsync**(**url**): create a script tag in the **body** whose **src** is **url** 64 64 ))) 65 65 * ((( 66 -**createScript**(**url**): helper function that create a script element whose src is url \\65 +**createScript**(**url**): helper function that create a script element whose src is url 67 67 ))) 68 68 ))) 69 69 ... ... @@ -72,8 +72,7 @@ 72 72 73 73 * ((( 74 74 * ((( 75 -**call**(**f**, **options**): calls the function **f 76 -\\** 74 +**call**(**f**, **options**): calls the function **f** 77 77 ))) 78 78 ))) 79 79 ... ... @@ -86,7 +86,6 @@ 86 86 ))) 87 87 * ((( 88 88 **off**(**type**, **listener**, **f**): removes the listener that executes the function **f** when event of type **type** occurs 89 -\\ 90 90 ))) 91 91 ))) 92 92 ... ... @@ -99,7 +99,6 @@ 99 99 ))) 100 100 * ((( 101 101 **string**(**count**): return a random string of length **count** 102 -\\ 103 103 ))) 104 104 ))) 105 105 ... ... @@ -112,7 +112,6 @@ 112 112 ))) 113 113 * ((( 114 114 **track**(**url**, **title**, **referer**): used to dynamically track a page with url **url**, title **title** and referer **referer**. This can be used with **infinite scroll**. 115 -\\ 116 116 ))) 117 117 ))) 118 118 ... ... @@ -120,7 +120,7 @@ 120 120 **ONEcount**: object for interacting with ONEcount application. This object contains many functions and objects. 121 121 122 122 (% style="margin-left: 60.0px;" %) 123 -a.** Functions**:118 +a.** Functions**: 124 124 125 125 * ((( 126 126 * ((( ... ... @@ -161,15 +161,14 @@ 161 161 ))) 162 162 ))) 163 163 164 - 165 165 160 + 166 166 (% style="margin-left: 60.0px;" %) 167 -b. ** Objects**162 +b. ** Objects** 168 168 169 169 * ((( 170 170 * ((( 171 171 **urls**: this object contains all the url used to interact with ONEcount. These url already have the **clientId** appended to them. 172 -\\ 173 173 ))) 174 174 * ((( 175 175 **links:** this object contains links to the login/logout in ONEcount. Below are the functions: ... ... @@ -186,7 +186,6 @@ 186 186 ))) 187 187 * ((( 188 188 This also contains other helper functions such as **setReturn**(**returnUrl**), **getReturnParam**(**returnUrl**), **encodeUrl**(**url**), **decodeUrl**(**url**) 189 -\\ 190 190 ))) 191 191 ))) 192 192 ))) ... ... @@ -195,62 +195,60 @@ 195 195 * ((( 196 196 **modal**: used to create a modal. This is being used for the form popup and the custom targeting pop up Contains the following functions: 197 197 198 -* 191 +* 199 199 200 200 **create**(**options**): create a modal. options is an object that contains the properties **html**, **styles**, **close** 201 201 202 -* 195 +* 203 203 204 204 **getCloseButton**(**options**): return the close button element. **options** is an object that contains the properties **close** 205 205 206 -* 199 +* 207 207 208 208 **getContent**(**options**): return a div that contains the content of the modal. **options** is an object that contains the properties **html** 209 209 210 -* 203 +* 211 211 212 -**loadStyles**(**options**): load css styles used for the modal. **options** is an object that contains the properties **style 213 -\\** 205 +**loadStyles**(**options**): load css styles used for the modal. **options** is an object that contains the properties **style** 214 214 ))) 215 215 * ((( 216 216 **functions**: this is an object contains functions used by other widgets on the page. Contains the following functions: 217 217 218 -* 210 +* 219 219 220 220 **dfp_sb_ad_capture**(**e**): used to prepare data for **DFP Small Business** viewability script. e is and event containing data about the data (**creativeId**, **lineItemId**) 221 221 222 -* 214 +* 223 223 224 -**get_user_data()**: returns the user's **ocid** and **tempid** in the format **ocid.tempid 225 -\\** 216 +**get_user_data()**: returns the user's **ocid** and **tempid** in the format **ocid.tempid** 226 226 ))) 227 227 * ((( 228 228 **form**: used to create a pop up form or for form embed. Contains one function and another object: 229 229 230 -* 221 +* 231 231 232 232 **embed**(**options**): this function is used to embed a form on the page 233 233 234 -* 225 +* 235 235 236 236 **popup:** this object is used to display the form as a popup. Contains the following functions: 237 237 238 -* 229 +* 239 239 240 240 **resize**(**id**): re sizes the form with document id **id** 241 241 242 -* 233 +* 243 243 244 244 **display**(options): displays the form as a pop up 245 245 246 -* 237 +* 247 247 248 248 **message**(event): used to interact with the form in the iframe via **postMessage** 249 249 ))) 250 250 ))) 251 251 252 - 253 253 244 + 254 254 On top of this **all.min.js** also contains a library used for browser fingerprinting as well as a library used for getting flash info on the browser. The content of this files used to spread in 3 different files and now they're in one place. 255 255 256 256 **v.js:** This script is used to capture viewability data for **DFP Premium** and **Openx Open Source (Revive)**. ... ... @@ -259,16 +259,46 @@ 259 259 260 260 **fs.js:** This is the form scrapper script. Used to scrapped content from 3^^rd^^ party forms when they are being submitted. 261 261 262 - 253 +=== GCN.onecount.track(url, title, referrer, resourceId, callback): === 263 263 264 - \\255 +By default, ONEcount widgets track impressions on each page load. For sites where one article is displayed per page, this works fine. But in cases where articles are displayed on the same page, i.e. infinite scroll, only the first one is tracked. 265 265 266 - 257 +This function is designed to provide an impression track for each article on a page. The function expects three parameters: 267 267 268 -\\ 269 -{{/layout-cell}} 259 +* **url**: The url of the article that is supposed to be tracked. **This is required**. 260 +* **title**: This should be the same as the **title tag** if the article was displayed alone on the page. 261 +* **referrer**: The referrer of article. (For infinite scroll this can be the previous article in the scroll.) 262 +* ((( 263 +**resourceId**: this is optional. If set to a valid resourceId, that resource that will be used in order to perform gating or increase view_count. You can pass 0 in order to use the default resource associated with the url if any 264 +))) 265 +* ((( 266 +**callback**: function to be called after a request has been sent to ONEcount. This can return the number of articles read by the user for products with limit in timeframe 267 +))) 270 270 271 -{{layout-cell}} 269 +While the impressions are being tracked, ONEcount will also check whether the user's subscription is still valid or not (e.g. limit of X articles per month has been reached). If the subscription is not valid, then the user will be taken to the subscription page. 270 + 271 +Let's assume I have a page where the first article is displayed when the page loads and three mores articles are displayed as the user scrolls down. The first article will be tracked by ONEcount, but for the three other articles, a call to GCN.onecount.track needs to be made to tell ONEcount that the articles have been displayed. The url should be the direct url of the article. The referrer should be the previous article's url. 272 + 273 +=== GCN.onecount.gate(resourceId, callback): === 274 + 275 +Gating is currently done based on a REGEX match of a url segment on page load. This function is designed to allow customers to gate content where gating can not be sufficiently managed using URL segments, or where content must be gated without a page load. 276 + 277 +This function expects **two parameter** : 278 + 279 +1. **resourceId** : this is the **resourceId** that will be used for gating and it's **required.** 280 +1. **callback:** this is a function that can be passed. The response from the gating request will be made available in the callback. The callback should expect one parameter which is a JSON object. The JSON object has a property called hasAccess which is a boolean (true/false). **true** means the user has access and **false** means he does not. 281 + 282 +Resource Ids are available in ONEcount on the resource listing page. 283 + 284 +To create a resource that uses this function, choose “Function” from the resource type pull-down, then enter a text return value in the box below. This return value is ignored for now, but may be used to trigger gating in the future. 285 + 286 +When the function is called and the user is not subscribed to the product that the resource belongs to, he will be taken to the registration page in order to do so. If he is already subscribed to the product then nothing will happen. 287 + 288 + 289 + 290 +**__NOTE:__** If page load speed is ever a concern, it is recommended to use a third party service (such as tools.pingdom.com). By doing so, it will generate report of all items loading on your webpage along with their load times. Simply copy and paste your page's URL into the designated field and a test will be conducted immediately. If any** oc.net** item exceeds a load speed of 500ms, please enter a Helpdesk ticket for us to review. Testing page load speeds is a very informative way of identifying items that are directly impacting page performance. It is worth mentioning that there will be items that continuously load in short spurts (ex. **v.js** for viewability data) however those short spurts do not negatively impact load speed performance. 291 + 292 + 272 272 273 273 {{/layout-cell}} 274 274 {{/layout-section}}
- Confluence.Code.ConfluencePageClass[0]
-
- id
-
... ... @@ -1,1 +1,1 @@ 1 -6613 21 +66131 - url
-
... ... @@ -1,1 +1,1 @@ 1 -https://info.onecount.net//wiki/spaces/OD/pages/6613 2/ONEcount Javascript Widgets1 +https://info.onecount.net//wiki/spaces/OD/pages/66131/ONEcount Javascript Widgets