PageSourceSearch

https://www.atlc-dpac.ca/wp-content/plugins/sitepress-multilingual-cms/res/js/xdomain-data.js?ver=4.6.3

js atlc-dpac.ca collected 2026-10-04 02:31:18 UTC 2,326 bytes, 81 lines download raw bytes

1/*globals jQuery, icl_vars, wpml_xdomain_data */
2
3(function () {
4    "use strict";
5
6    jQuery(function () {
7        jQuery('.' + wpml_xdomain_data.css_selector + ' a').on('click', function (event) {
8
9            var originalUrl;
10            var currentUrl = window.location.href;
11            var targetUrl = jQuery(this).attr('href');
12
13            if ('#' !== targetUrl && currentUrl !== targetUrl) {
14                event.preventDefault();
15
16                originalUrl = jQuery(this).attr('href');
17				// Filter out xdomain_data if already in the url
18				originalUrl = originalUrl.replace(/&xdomain_data(=[^&]*)?(?=&|$)|xdomain_data(=[^&]*)?(&|$)/, '');
19				originalUrl = originalUrl.replace(/\?$/, '');
20
21				/** @namespace icl_vars.current_language */
22				jQuery.ajax({
23					url:      wpml_xdomain_data.ajax_url,
24					type:     'post',
25					dataType: 'json',
26					data:     {
27						action:        'switching_language',
28						from_language: wpml_xdomain_data.current_language,
29						_nonce:        wpml_xdomain_data._nonce,
30					},
31					success:  function (response) {
32						var argsGlue;
33						var url;
34						var hash;
35						var urlSplit;
36						var xdomain;
37						var form;
38
39						if (response.data.xdomain_data) {
40							if (response.success) {
41								if ('post' === response.data.method) {
42
43									// POST
44									form = jQuery('<form method="post" action="' + originalUrl + '" >');
45									xdomain = jQuery('<input type="hidden" name="xdomain_data" value="' + response.data.xdomain_data + '">');
46
47									form.append(xdomain);
48									jQuery('body').append(form);
49
50									form.submit();
51
52								} else {
53									// GET
54									urlSplit = originalUrl.split('#');
55									hash = '';
56									if (1 < urlSplit.length) {
57										hash = '#' + urlSplit[1];
58									}
59									url = urlSplit[0];
60									if (url.indexOf('?') === -1) {argsGlue = '?';} else {argsGlue = '&';}
61									/** @namespace response.data.xdomain_data */
62									url = originalUrl + argsGlue + 'xdomain_data=' + response.data.xdomain_data + hash;
63									location.href = url;
64								}
65
66							} else {
67								url = originalUrl;
68								location.href = url;
69							}
70						} else {
71							location.href = originalUrl;
72						}
73					},
74					error:    function () {
75						location.href = originalUrl;
76					}
77				});
78			}
79		});
80	});
81}());

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.