Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!
This is the function called
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
html, body {
height: 100%;
margin: 0;
}
#reportContainer {
height: 100%;
}
</style>
<script src="https://npmcdn.com/es6-promise@3.2.1"></script>
<!--
<link rel="stylesheet" type="text/css" href="~/Content/style/style.css">
-->
<script src="scripts/powerbi.js"></script>
</head>
<body>
<div id="reportContainer"></div>
<script>
...
function init(title, embed_config) { var reportContainer = document.getElementById('reportContainer'); var reportFrame = powerbi.embed(reportContainer, embed_config); reportFrame.fullscreen(); document.title = title; }
...
</script>
</body>
</html>
where embed_config is:
- embed_config {...} Object
accessToken "H4sIAAAAAAAEAB2WNw7sCA5E7_JTLSCp5ReYQN57r0wt770d7N23ZzIGBAg-ssj6-4-VPv2U5n_---dCdqd-gU71iDr0Clo2uF2pD9JULrF0Hl_C_TjKE7GZODksDphx_ShfGDng88bXP7pOp-n9gZ3HZSyIFrlClSzP9BGZ-qxjPFnflbtCQhEgyqBQiiJgGpN4bCqijMYXiG8pKVnsKVPVFvb9r1wHFJK0rtKeheZMLqCLZsKjPlGWmuOcHcZPRvD6sM89UjgBEGa6p65lZmW6LS_4D27Fxblwsx0HetMsN6bua1ZwHxzD4nLjnTUjrT26XZtCVqWxIGccUw6yHVXPWCTqNq3BAQZnE5JSl0aPyFCKe4veQgUyXY4Wa3yn8K6JRytQT6odtoZARCFLgux5fU0iXcPrw_4zEm64RLE065hGVnh-VrKEKZ1p-V7f-FaiKN8VEACPU1L7VCD9TJLksnfR8I7sO9CJmpKWvQeYs68-7spOTZgVCE_RJhDz5iL7icIwuREcodyDlFxdpZzCONexVe1fUvn6MG19iuw7kzsdZF-zwT8j8zWEe3RqnzBRBxBVoJQ_jNyJgs9wG1iBkW-9SnoJD4Q3M8jrwy-W74M3HcLQSDKODyOZbEjvevzq7MoGu3tPypTVPoMS7Fkkm6a1cFpg1uRr76fejZ8vv13VsVKlaB43-aMaygLegeiO1Id3XYjCpKThuLACXiL2SYjkySwHYRFzp0gB_RihjUoZN2KtEYRhHuLYI4_GdCpyV7708AG444SDXoX6ufQtZb67lYAYgzezmOEjb-sY0aOFgQZPTiOyQ-ISTttkGw-0yD6Zq3G5VWyTj3hRxRKmH7V4yapl95R8ZQBC9gDp9q3eh4OH0AAzsc6gaqRDrMiNb_zqRVyvcDaOr4i2QO59tHvBU6feLR5Am6AU3JojAdl9LebF2U8yqi5vWgoBmiEXhoKzogNWqbV40tPGj3r0Zdak4-VPqKX88NntHO75Fk5Yqf3N3tpI49y2wpiWbss68VZHlhPkKQ_YBUOsKrfHT7L8Vq8vSNT2CYmbJISApQ7E1j500F3yP6z7NTLMS5Jh0HWnopEj5ziQV_iFyffOtmUFzUZCSdYbK9KmSOvEEYGnNKclGsANE2pyHTE_x6g2BaKtEjb9QyBYdhQIp19rvJCZ5nr0RFaiuMZO0aHBR4BISygySVEouRwHIc4qLuzy1Y2lwnRFzEapvaRMl7Ca7nDDh21aK0NaMWb0z-p4xXpzqGtlD3TOnbFtv0Kkr9Qfu3I--DwILaYWNUXM7PqANP0E9HG-mF37Bhze4vmuyL5shL40SOqoAEKwqN3l_BNIbsTLJJENI-weBbwc8yX2mhMwMzi2q6KEADShLdt5s--P9Vvv9cqMetnOEOD6vYBcMvxaMzqs0qoZpB7lMph7gFg0eid7ekJh0W0finUXMr_CDMMOF7UM5Qi8IGzIhfVygA7fomVSHwMgJ3S0fQ6SE-MWBH9ElVI7qOt6NC_CwkEq57KArCubMPmrrVMJkCs9Mf21TBgCGoYBpD0C582rsB4m71B0DhZBWdK8NMeV8PTi0HIZ4NaetdG4iGyXR1hdimcvN0Y3v83oXhxrP98ujtdt3FdIffaVLyL62UhyxJRUN9iM8wU69PNsDbCg0_OWhqJpxAdPcVsvM0WjGQRy6M1bj_3wEomJM18nmIGZgb84foydglEqOI4fhOnGaKyXlIdAS8pN0IuZfk8GumXnfDEJjOmxbAkfAwcl6vt84Gw-IUYZoKipcyvi9g7h8hnkAtZDnr3O9IbllW8JxxC7-KNo6A74U66gGRVIEaf45MfvJ1izzLdxvLjJiY0ZISf-CvSmvEjeyVNhFE7aFrXh0C9D9lPHRlKGuQBDrGXMmptipYw-oH3b-c1Crgg-B1IscBFRCNRuQl35OH6ZvtICs8d6oMRFjM5ex6FCuRsYQhvY3pnuT0L2BhfPZmOnAYrtBqRUlWskmvBjSp39cY6fmd7oOwtUbm6x7zUTQUrVB9iLmIEI7_7AZd9Wj2zYniFAroZvoMRqjP20tYJlRvTpXoyeuTwhMmNGWAAZadQJ7vIz3Crf5_iNOVrNL346GJHITo2yRjp412KjRnEKNR90SHmL_uZ-B-6ngaPuCKNhEpddrF4Qj18HHY2rRoAU_0bb9aqT5a6t4MzHRNSQ5P35z5-fAud9UovnZyc6gY7M35kWqYEIF1fFBzQMQMPcBttBl8ggtOiZeI_z5itxsBTaXaIe-1dV8n15UELEfi2Sur5MhNQDhmNzcxp3UgMMIEhJPpSOv8e1ZVnyrQSSE70LgNpD59hl9VZZUsoDrefvXrPzu8FvbryFiQdp34FB0LTGLVKcnkmyN5TG00sB7ZsGvgc4DbwsjtI4J5HODRF7IGMNJFXJFyLQGO8OhntNuIom9uybdHwUjHTOBHtRZQolbXX9yjq3KBIgZJH2V24uTlt8J4mC76Fdo8l-mLoZBgUxTSJpeZhX3M4URFES2p4KnSbDJvarRCfRFxQh1W8ClbGsebpPAV9o0Ad28aq__voH8zPXxSoHP8pxz5736jFilWeMHrWu2RL79W-W21Rjuh9r8Uv7vmjN1RD_9g8lRaVc3Uq7njXh_XzF7tU0rWU6SVP3iGWY5TQnUZ9MzhUJozSBAfK-ZZtA8qBX9W128LZjE_C_I1P-vNXaqmidqZaxG_wApPa2n-6wulVlBWk7tsNjqadD4Ez8CrfpRshtRamlnb-Oe36ZcDzTBR1PV7zDajSbu1KdjKZ5itpGWT3Bv2XuHwcdyrLU99bRGOfiiUxtVEo7Xvpp4WllbHT_0DdFUvY5BPjZw-R4LMxUbm9ox6uo6WyWgOx2fl-gLoEcxRDYCpddFktkqyunb7KJdEIpo6FvNy_riA6LS52X26ETDFHqCOA_daK2mNeG-ag9yxq423UnIdI_zP_7P0BMnlxCCwAA" String
embedUrl "https://app.powerbi.com/reportEmbed?reportId=81fd7b7f-1876-41b4-be4f-f47e93efa83f&groupId=41019ecf-7d22-46ee-9fcf-745ec8d40d05" String
id "81fd7b7f-1876-41b4-be4f-f47e93efa83f" String
permissions 7 Number
- settings {...} Object
filterPaneEnabled true Boolean
navContentPaneEnabled true Boolean
tokenType 1 Number
type "report" String
in powerbi.embed(...) at runtime, an exception
0x800a139e - JavaScript runtime error: DataCloneError occurred
is generated at this library code line:
/*! powerbi-client v2.3.4 | (c) 2016 Microsoft Corporation MIT */
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
...
* Post message to target window with tracking properties added and save deferred object referenced by tracking id.
*/
WindowPostMessageProxy.prototype.postMessage = function (targetWindow, message) {
// Add tracking properties to indicate message came from this proxy
var trackingProperties = { id: WindowPostMessageProxy.createRandomString() };
this.addTrackingProperties(message, trackingProperties);
if (this.logMessages) {
console.log(this.name + " Posting message:");
console.log(JSON.stringify(message, null, ' '));
}
targetWindow.postMessage(message, "*"); DataCloneError
var deferred = WindowPostMessageProxy.createDeferred();
this.pendingRequestPromises[trackingProperties.id] = deferred;
return deferred.promise;
};with this message content:
message [object] __proto__ [object] body [object] __proto__ [object] accessToken "H4sIAAAAAAAEAC3WxQrtgAEE0H952xTiVugiduPu2cXdPaX_3kfpflYHhpl__7HSd5jT4s8__0Rchno0SnxMInO358zZ_vBKoFTIAJJCSOuRA3E_GBSfwmT0cK6qgMQXvI70r4GVsQ1lbaS5Drrd_hFdrwftQcoajSsbjhN50KC-094qe1AQI-KX0PO6e9_tCe_yFxks7CdB99cqVoYuBDQDI2CiKH2m2SHmGDdg-O48cS7fRZKVkQRuy-c-LFpVYzN7X_FLRj9Z4g37lDB7SmTVAr-iRyS1RTt0J7LiallKs_mBLvaH-933hNSpmnnYyR1nYMSKyHllszEJj_mm7FsTcP2VHCu20mf0hPdKuuzDy84NculOxXdn1CQAsR18Y5WWd2OHRK5CM7HcwsrBppuxXmpYucs2USYjMgCrBa2gduJuDa5g2zMkXk6llChhOknJX0l6pXwkrAnl0vogOf5a98-7FbalaRoNOCfhPeHA5_w7ildZrFGVzxNCkJKe9IkFHNq-AzPyXkzhWxPNUvw-Gc6rkdqrahFqaOGqfKhJipSWdX705SnmeoYuxkqFBw1N8yx6iOZrP6LtxooFqr1-ePmyxxjW1ex7QIDazEcJ_9gqYoEgq1o7mIziglf1mqpIi9I8Ooco3xFjuRXsTdVWfiQ3JmBcTzLcFCW_DgkSBw1felT6VwqQeLyCLB8LfC8ELYuTaPQbN7wCuL5OGAYDOBdSSsqWEDco-1tq4h2nXD432s6NT0W45NPqHobbbdKdigG2Zk1_B_cbYWbQGcu7Uvf0yAP8VRPK4DITNIdLnPVifggTr20up2x0UPOcg8L7Kw0w9yswVRzg4gREA_id245efOhvlef0Ugx7O5RkM7F3uYxOdnLvWc1jjVClJW6cB5d-KVpe3LVn8wBu5Sep97KxJXijFpoWGC3qtOoF0gkdhlyHuLQVXUwbzhuwCJ_p59i8YTXUj3TzDs5W5SbYqtdZ1ep2dQUVmIVQDOO31WzqEvE3De70J8K8YmEl0VDvVih5G1NTZqetA5OeQrZ9zKNBiQQq5XFOUpBMKAX9w8gjUgcjhs0OQu3-ElbmyehqmyanignKYb5CqgnBQn1UzEHZl1akY7fCG_os7oz5eJWm2Z-OackEwRdezo7WPoVQG5cUQ1S6Im2f7FexARmPkzrkPUWWsJZ9nk2kgcS2EMpdcCqjD9-UWZHhkM-thIbD5t0fZ_YtW_nbOe54PRGQgRSz3izXyM5r2W06agOpFPDxCchPk6SCxFVkBXCL1k1Sd4-FU68n0cx6Ki0QASAiL2wj69tyWFQXWYmQSNktGHw1GlyYWtVCkh13o4dc5ljnfe7AMlbnox5Z8uvEpdEhxl-zPtb3nyT6OMNTzMlELAFK2rcCdBQMVkh-ePYQMvbVyDMFp65DYExmIZUrb5Ui4BGIHtyPNvZo_rqqM81KNGANWh7WZ7vja5zrlK0ZZTJ4i60mrPBt9UHHCOCAmbUGlqU7eIIklbSHyndnVnM4tv4keUp8e1clBHJrDaj58jlMAKQeLSYwSdZhGYlo9vjXV-t4fCwRO5ZeFG7Ri0ktkgMc-0IFgvwBW_I5ZRL0Wp7p8IzkOWLsK2EDmS0NrWWtktE4sgciuVUHMLmr3f7QJiLj74yD-Z0K8CE1vQW32CkLd27CHXQx1ChjpMftF6bv1Uo_xCO4VWAKwdcWOM6BgfdTC3IgnGCuiAK3DUNaFVJ-eMEQTjSRoYCoUihU43lXS8thmONgqJLhvlPEh0n-vhlt9f6ct9uu3I0TAI7MXwyP_batjwNjCyxUI4dMqVInaASo-JVtS15yIdeePh8mf6KIGAVRqsdsZH7w-uOvW1KJmyjpBQq5c7dJW5LGI52-4T4W33B-HH9fzJuYQCsSSJG5vfEHTHG20y2ZNuUzJUjVL3ozJdPEWZwlk7stXKbnDN6ZNvKrCIKrvdtRhfymogpensQFLUiXboDj3wth08xqePkCG-G9txzghe0ehfseUqti7ZqEQ6m1m77T171C6WkbpETGHCfsuzXiAYLynZbdOhUktEh-eT6V8GXi4Luy5JxBnJY-SKVJKd-gSNl3AscsIXRLyFT_7ZReKfV2OT3wLp6vSt1zVbhsF3gaRq5nnZ92QmU1dV5ipo9Mu4hy1hCNRhWrkcfKz0SkJnCeim55Dz6JBuA-rXGgg7S9pSlsd_puODFGcj_mX__6848_3PYux6yW79-b8eu1yp3nyLl4XESRyVLf-alm8lZc0KdNzhkiJtmNhx4F8AsF5SMe2Hq7fTH8MApHRgb2Z15VvcAOlDz0bc4zqYbl3PmVawCwLBy1BGcLbPCVcT3UKo93RszotoM8HA7Yn_QSVx6LUvB96BoyMzqAEW15aTZg9QT_cITLIisQkXNNtaSu64p1R0BZfPtHqPYcWo5t44tw-sPFn7e_AE8TAYhZSywo7IK3H7mS9eKgeaSK1D7GnlMl9yvLsn2ykPCtEk59TDP-dyeLeKfGY7SYPerTDWvwXHAnk-GjGXNkE-RyEe0rvtEOdfpMib1zm2vJExo308aILzqwSK0dB6XjW4b_z_wuTbnJwV_lMAlX6Iw99YBO6skmZgE76f5fym3rKT3Orfwb83JgTL4eWRm2wnmR6K644QJDkuwLMN6hUGIZJuHgrajTQZ8mEHYylRn3PmnX0_Wu2FMar73PZVrDchDLUiSKeaegRXQM1cB0UEuxCEnvhSQriYxmJde9dPU4Qj-jOY9SBL0BNntjmqvI4VfcKwRyIO-f67z03ZxOz1brJAijBaLgAaPSPu61Fzev2qO_c2ByY3G_CcRn6PKL9FMg_kKnpWkUSn5mbmYhWGILNIrKZY1akbBvn3drv5v5AGyD7pJWmJtX0F73CRj0IChvT3LhdoDbpcpIJbiR4CzUZ4jhhm2sz5LwDGikBEbYqtOviPJkuXry-ytv9Ru29QlttH3Ziqn_Mv_nv0Gzfi9aCwAA"
embedUrl "https://app.powerbi.com/reportEmbed?reportId=81fd7b7f-1876-41b4-be4f-f47e93efa83f&groupId=41019ecf-7d22-46ee-9fcf-745ec8d40d05"
id "81fd7b7f-1876-41b4-be4f-f47e93efa83f"
permissions 7
settings [object]
filterPaneEnabled true
navContentPaneEnabled true
tokenType 1
type "report"
uniqueId "a9n8zm"
headers [object]
__proto__ [object]
id "asg402"
uid "a9n8zm"
x-sdk-type "js"
x-sdk-version "2.3.4"
method "POST"
url "/report/load"
Note that the init function is called by a different web page which creates the target page with this javascript;
Client.openReport=function(name,embedUrl,reportId,embedToken)
{
var powerbi_settings,r,powerbi_conf,r$1,html,view;
powerbi_settings=(r={},r.filterPaneEnabled=true,r.navContentPaneEnabled=true,r);
powerbi_conf=(r$1={},r$1.type="report",r$1.tokenType=1,r$1.accessToken=embedToken,r$1.embedUrl=embedUrl,r$1.id=reportId,r$1.permissions=7,r$1.settings=powerbi_settings,r$1);
html=Global.jQuery("#embedReportHtml").text();
view=Global.open();
view.document.write(html);
view.init(name,powerbi_conf);
};If the embed_config object is created directly in the target page, then no error.
@francotiveron wrote:
This is the function called
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
html, body {
height: 100%;
margin: 0;
}
#reportContainer {
height: 100%;
}
</style>
<script src="https://npmcdn.com/es6-promise@3.2.1"></script>
<!--
<link rel="stylesheet" type="text/css" href="~/Content/style/style.css">
-->
<script src="scripts/powerbi.js"></script>
</head>
<body>
<div id="reportContainer"></div>
<script>
...
function init(title, embed_config) { var reportContainer = document.getElementById('reportContainer'); var reportFrame = powerbi.embed(reportContainer, embed_config); reportFrame.fullscreen(); document.title = title; }
...
</script>
</body>
</html>where embed_config is:
- embed_config {...} Object accessToken "H4sIAAAAAAAEAB2WNw7sCA5E7_JTLSCp5ReYQN57r0wt770d7N23ZzIGBAg-ssj6-4-VPv2U5n_---dCdqd-gU71iDr0Clo2uF2pD9JULrF0Hl_C_TjKE7GZODksDphx_ShfGDng88bXP7pOp-n9gZ3HZSyIFrlClSzP9BGZ-qxjPFnflbtCQhEgyqBQiiJgGpN4bCqijMYXiG8pKVnsKVPVFvb9r1wHFJK0rtKeheZMLqCLZsKjPlGWmuOcHcZPRvD6sM89UjgBEGa6p65lZmW6LS_4D27Fxblwsx0HetMsN6bua1ZwHxzD4nLjnTUjrT26XZtCVqWxIGccUw6yHVXPWCTqNq3BAQZnE5JSl0aPyFCKe4veQgUyXY4Wa3yn8K6JRytQT6odtoZARCFLgux5fU0iXcPrw_4zEm64RLE065hGVnh-VrKEKZ1p-V7f-FaiKN8VEACPU1L7VCD9TJLksnfR8I7sO9CJmpKWvQeYs68-7spOTZgVCE_RJhDz5iL7icIwuREcodyDlFxdpZzCONexVe1fUvn6MG19iuw7kzsdZF-zwT8j8zWEe3RqnzBRBxBVoJQ_jNyJgs9wG1iBkW-9SnoJD4Q3M8jrwy-W74M3HcLQSDKODyOZbEjvevzq7MoGu3tPypTVPoMS7Fkkm6a1cFpg1uRr76fejZ8vv13VsVKlaB43-aMaygLegeiO1Id3XYjCpKThuLACXiL2SYjkySwHYRFzp0gB_RihjUoZN2KtEYRhHuLYI4_GdCpyV7708AG444SDXoX6ufQtZb67lYAYgzezmOEjb-sY0aOFgQZPTiOyQ-ISTttkGw-0yD6Zq3G5VWyTj3hRxRKmH7V4yapl95R8ZQBC9gDp9q3eh4OH0AAzsc6gaqRDrMiNb_zqRVyvcDaOr4i2QO59tHvBU6feLR5Am6AU3JojAdl9LebF2U8yqi5vWgoBmiEXhoKzogNWqbV40tPGj3r0Zdak4-VPqKX88NntHO75Fk5Yqf3N3tpI49y2wpiWbss68VZHlhPkKQ_YBUOsKrfHT7L8Vq8vSNT2CYmbJISApQ7E1j500F3yP6z7NTLMS5Jh0HWnopEj5ziQV_iFyffOtmUFzUZCSdYbK9KmSOvEEYGnNKclGsANE2pyHTE_x6g2BaKtEjb9QyBYdhQIp19rvJCZ5nr0RFaiuMZO0aHBR4BISygySVEouRwHIc4qLuzy1Y2lwnRFzEapvaRMl7Ca7nDDh21aK0NaMWb0z-p4xXpzqGtlD3TOnbFtv0Kkr9Qfu3I--DwILaYWNUXM7PqANP0E9HG-mF37Bhze4vmuyL5shL40SOqoAEKwqN3l_BNIbsTLJJENI-weBbwc8yX2mhMwMzi2q6KEADShLdt5s--P9Vvv9cqMetnOEOD6vYBcMvxaMzqs0qoZpB7lMph7gFg0eid7ekJh0W0finUXMr_CDMMOF7UM5Qi8IGzIhfVygA7fomVSHwMgJ3S0fQ6SE-MWBH9ElVI7qOt6NC_CwkEq57KArCubMPmrrVMJkCs9Mf21TBgCGoYBpD0C582rsB4m71B0DhZBWdK8NMeV8PTi0HIZ4NaetdG4iGyXR1hdimcvN0Y3v83oXhxrP98ujtdt3FdIffaVLyL62UhyxJRUN9iM8wU69PNsDbCg0_OWhqJpxAdPcVsvM0WjGQRy6M1bj_3wEomJM18nmIGZgb84foydglEqOI4fhOnGaKyXlIdAS8pN0IuZfk8GumXnfDEJjOmxbAkfAwcl6vt84Gw-IUYZoKipcyvi9g7h8hnkAtZDnr3O9IbllW8JxxC7-KNo6A74U66gGRVIEaf45MfvJ1izzLdxvLjJiY0ZISf-CvSmvEjeyVNhFE7aFrXh0C9D9lPHRlKGuQBDrGXMmptipYw-oH3b-c1Crgg-B1IscBFRCNRuQl35OH6ZvtICs8d6oMRFjM5ex6FCuRsYQhvY3pnuT0L2BhfPZmOnAYrtBqRUlWskmvBjSp39cY6fmd7oOwtUbm6x7zUTQUrVB9iLmIEI7_7AZd9Wj2zYniFAroZvoMRqjP20tYJlRvTpXoyeuTwhMmNGWAAZadQJ7vIz3Crf5_iNOVrNL346GJHITo2yRjp412KjRnEKNR90SHmL_uZ-B-6ngaPuCKNhEpddrF4Qj18HHY2rRoAU_0bb9aqT5a6t4MzHRNSQ5P35z5-fAud9UovnZyc6gY7M35kWqYEIF1fFBzQMQMPcBttBl8ggtOiZeI_z5itxsBTaXaIe-1dV8n15UELEfi2Sur5MhNQDhmNzcxp3UgMMIEhJPpSOv8e1ZVnyrQSSE70LgNpD59hl9VZZUsoDrefvXrPzu8FvbryFiQdp34FB0LTGLVKcnkmyN5TG00sB7ZsGvgc4DbwsjtI4J5HODRF7IGMNJFXJFyLQGO8OhntNuIom9uybdHwUjHTOBHtRZQolbXX9yjq3KBIgZJH2V24uTlt8J4mC76Fdo8l-mLoZBgUxTSJpeZhX3M4URFES2p4KnSbDJvarRCfRFxQh1W8ClbGsebpPAV9o0Ad28aq__voH8zPXxSoHP8pxz5736jFilWeMHrWu2RL79W-W21Rjuh9r8Uv7vmjN1RD_9g8lRaVc3Uq7njXh_XzF7tU0rWU6SVP3iGWY5TQnUZ9MzhUJozSBAfK-ZZtA8qBX9W128LZjE_C_I1P-vNXaqmidqZaxG_wApPa2n-6wulVlBWk7tsNjqadD4Ez8CrfpRshtRamlnb-Oe36ZcDzTBR1PV7zDajSbu1KdjKZ5itpGWT3Bv2XuHwcdyrLU99bRGOfiiUxtVEo7Xvpp4WllbHT_0DdFUvY5BPjZw-R4LMxUbm9ox6uo6WyWgOx2fl-gLoEcxRDYCpddFktkqyunb7KJdEIpo6FvNy_riA6LS52X26ETDFHqCOA_daK2mNeG-ag9yxq423UnIdI_zP_7P0BMnlxCCwAA" String embedUrl "https://app.powerbi.com/reportEmbed?reportId=81fd7b7f-1876-41b4-be4f-f47e93efa83f&groupId=41019ecf-7d22-46ee-9fcf-745ec8d40d05" String id "81fd7b7f-1876-41b4-be4f-f47e93efa83f" String permissions 7 Number - settings {...} Object filterPaneEnabled true Boolean navContentPaneEnabled true Boolean tokenType 1 Number type "report" String
in powerbi.embed(...) at runtime, an exception
0x800a139e - JavaScript runtime error: DataCloneError occurredis generated at this library code line:
/*! powerbi-client v2.3.4 | (c) 2016 Microsoft Corporation MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') ... * Post message to target window with tracking properties added and save deferred object referenced by tracking id. */ WindowPostMessageProxy.prototype.postMessage = function (targetWindow, message) { // Add tracking properties to indicate message came from this proxy var trackingProperties = { id: WindowPostMessageProxy.createRandomString() }; this.addTrackingProperties(message, trackingProperties); if (this.logMessages) { console.log(this.name + " Posting message:"); console.log(JSON.stringify(message, null, ' ')); } targetWindow.postMessage(message, "*"); DataCloneError var deferred = WindowPostMessageProxy.createDeferred(); this.pendingRequestPromises[trackingProperties.id] = deferred; return deferred.promise; };with this message content:
message [object] __proto__ [object] body [object] __proto__ [object] accessToken "H4sIAAAAAAAEAC3WxQrtgAEE0H952xTiVugiduPu2cXdPaX_3kfpflYHhpl__7HSd5jT4s8__0Rchno0SnxMInO358zZ_vBKoFTIAJJCSOuRA3E_GBSfwmT0cK6qgMQXvI70r4GVsQ1lbaS5Drrd_hFdrwftQcoajSsbjhN50KC-094qe1AQI-KX0PO6e9_tCe_yFxks7CdB99cqVoYuBDQDI2CiKH2m2SHmGDdg-O48cS7fRZKVkQRuy-c-LFpVYzN7X_FLRj9Z4g37lDB7SmTVAr-iRyS1RTt0J7LiallKs_mBLvaH-933hNSpmnnYyR1nYMSKyHllszEJj_mm7FsTcP2VHCu20mf0hPdKuuzDy84NculOxXdn1CQAsR18Y5WWd2OHRK5CM7HcwsrBppuxXmpYucs2USYjMgCrBa2gduJuDa5g2zMkXk6llChhOknJX0l6pXwkrAnl0vogOf5a98-7FbalaRoNOCfhPeHA5_w7ildZrFGVzxNCkJKe9IkFHNq-AzPyXkzhWxPNUvw-Gc6rkdqrahFqaOGqfKhJipSWdX705SnmeoYuxkqFBw1N8yx6iOZrP6LtxooFqr1-ePmyxxjW1ex7QIDazEcJ_9gqYoEgq1o7mIziglf1mqpIi9I8Ooco3xFjuRXsTdVWfiQ3JmBcTzLcFCW_DgkSBw1felT6VwqQeLyCLB8LfC8ELYuTaPQbN7wCuL5OGAYDOBdSSsqWEDco-1tq4h2nXD432s6NT0W45NPqHobbbdKdigG2Zk1_B_cbYWbQGcu7Uvf0yAP8VRPK4DITNIdLnPVifggTr20up2x0UPOcg8L7Kw0w9yswVRzg4gREA_id245efOhvlef0Ugx7O5RkM7F3uYxOdnLvWc1jjVClJW6cB5d-KVpe3LVn8wBu5Sep97KxJXijFpoWGC3qtOoF0gkdhlyHuLQVXUwbzhuwCJ_p59i8YTXUj3TzDs5W5SbYqtdZ1ep2dQUVmIVQDOO31WzqEvE3De70J8K8YmEl0VDvVih5G1NTZqetA5OeQrZ9zKNBiQQq5XFOUpBMKAX9w8gjUgcjhs0OQu3-ElbmyehqmyanignKYb5CqgnBQn1UzEHZl1akY7fCG_os7oz5eJWm2Z-OackEwRdezo7WPoVQG5cUQ1S6Im2f7FexARmPkzrkPUWWsJZ9nk2kgcS2EMpdcCqjD9-UWZHhkM-thIbD5t0fZ_YtW_nbOe54PRGQgRSz3izXyM5r2W06agOpFPDxCchPk6SCxFVkBXCL1k1Sd4-FU68n0cx6Ki0QASAiL2wj69tyWFQXWYmQSNktGHw1GlyYWtVCkh13o4dc5ljnfe7AMlbnox5Z8uvEpdEhxl-zPtb3nyT6OMNTzMlELAFK2rcCdBQMVkh-ePYQMvbVyDMFp65DYExmIZUrb5Ui4BGIHtyPNvZo_rqqM81KNGANWh7WZ7vja5zrlK0ZZTJ4i60mrPBt9UHHCOCAmbUGlqU7eIIklbSHyndnVnM4tv4keUp8e1clBHJrDaj58jlMAKQeLSYwSdZhGYlo9vjXV-t4fCwRO5ZeFG7Ri0ktkgMc-0IFgvwBW_I5ZRL0Wp7p8IzkOWLsK2EDmS0NrWWtktE4sgciuVUHMLmr3f7QJiLj74yD-Z0K8CE1vQW32CkLd27CHXQx1ChjpMftF6bv1Uo_xCO4VWAKwdcWOM6BgfdTC3IgnGCuiAK3DUNaFVJ-eMEQTjSRoYCoUihU43lXS8thmONgqJLhvlPEh0n-vhlt9f6ct9uu3I0TAI7MXwyP_batjwNjCyxUI4dMqVInaASo-JVtS15yIdeePh8mf6KIGAVRqsdsZH7w-uOvW1KJmyjpBQq5c7dJW5LGI52-4T4W33B-HH9fzJuYQCsSSJG5vfEHTHG20y2ZNuUzJUjVL3ozJdPEWZwlk7stXKbnDN6ZNvKrCIKrvdtRhfymogpensQFLUiXboDj3wth08xqePkCG-G9txzghe0ehfseUqti7ZqEQ6m1m77T171C6WkbpETGHCfsuzXiAYLynZbdOhUktEh-eT6V8GXi4Luy5JxBnJY-SKVJKd-gSNl3AscsIXRLyFT_7ZReKfV2OT3wLp6vSt1zVbhsF3gaRq5nnZ92QmU1dV5ipo9Mu4hy1hCNRhWrkcfKz0SkJnCeim55Dz6JBuA-rXGgg7S9pSlsd_puODFGcj_mX__6848_3PYux6yW79-b8eu1yp3nyLl4XESRyVLf-alm8lZc0KdNzhkiJtmNhx4F8AsF5SMe2Hq7fTH8MApHRgb2Z15VvcAOlDz0bc4zqYbl3PmVawCwLBy1BGcLbPCVcT3UKo93RszotoM8HA7Yn_QSVx6LUvB96BoyMzqAEW15aTZg9QT_cITLIisQkXNNtaSu64p1R0BZfPtHqPYcWo5t44tw-sPFn7e_AE8TAYhZSywo7IK3H7mS9eKgeaSK1D7GnlMl9yvLsn2ykPCtEk59TDP-dyeLeKfGY7SYPerTDWvwXHAnk-GjGXNkE-RyEe0rvtEOdfpMib1zm2vJExo308aILzqwSK0dB6XjW4b_z_wuTbnJwV_lMAlX6Iw99YBO6skmZgE76f5fym3rKT3Orfwb83JgTL4eWRm2wnmR6K644QJDkuwLMN6hUGIZJuHgrajTQZ8mEHYylRn3PmnX0_Wu2FMar73PZVrDchDLUiSKeaegRXQM1cB0UEuxCEnvhSQriYxmJde9dPU4Qj-jOY9SBL0BNntjmqvI4VfcKwRyIO-f67z03ZxOz1brJAijBaLgAaPSPu61Fzev2qO_c2ByY3G_CcRn6PKL9FMg_kKnpWkUSn5mbmYhWGILNIrKZY1akbBvn3drv5v5AGyD7pJWmJtX0F73CRj0IChvT3LhdoDbpcpIJbiR4CzUZ4jhhm2sz5LwDGikBEbYqtOviPJkuXry-ytv9Ru29QlttH3Ziqn_Mv_nv0Gzfi9aCwAA"
embedUrl "https://app.powerbi.com/reportEmbed?reportId=81fd7b7f-1876-41b4-be4f-f47e93efa83f&groupId=41019ecf-7d22-46ee-9fcf-745ec8d40d05"
id "81fd7b7f-1876-41b4-be4f-f47e93efa83f"
permissions 7
settings [object]
filterPaneEnabled true
navContentPaneEnabled true
tokenType 1
type "report"
uniqueId "a9n8zm"
headers [object]
__proto__ [object]
id "asg402"
uid "a9n8zm"
x-sdk-type "js"
x-sdk-version "2.3.4"
method "POST"
url "/report/load"Note that the init function is called by a different web page which creates the target page with this javascript;
Client.openReport=function(name,embedUrl,reportId,embedToken) { var powerbi_settings,r,powerbi_conf,r$1,html,view; powerbi_settings=(r={},r.filterPaneEnabled=true,r.navContentPaneEnabled=true,r); powerbi_conf=(r$1={},r$1.type="report",r$1.tokenType=1,r$1.accessToken=embedToken,r$1.embedUrl=embedUrl,r$1.id=reportId,r$1.permissions=7,r$1.settings=powerbi_settings,r$1); html=Global.jQuery("#embedReportHtml").text(); view=Global.open(); view.document.write(html); view.init(name,powerbi_conf); };If the embed_config object is created directly in the target page, then no error.
I don't know below syntax, could you post the whole html that can help reproduce this issue?
html=Global.jQuery("#embedReportHtml").text();
view=Global.open();
The main page is generated by websharper templating and javascript translator, from the following 5 files:
//Main.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>NCF.BPP - Main</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script></head>
<body>
<div class="container">
<div ws-replace="Body">
</div>
</div>
<script ws-replace="scripts"></script>
</body>
</html>//Rep.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
html, body {
height: 100%;
margin: 0;
}
#reportContainer {
height: 100%;
}
</style>
<script src="https://npmcdn.com/es6-promise@3.2.1"></script>
<!--
<link rel="stylesheet" type="text/css" href="~/Content/style/style.css">
-->
<script src="scripts/powerbi.js"></script>
</head>
<body>
<div id="reportContainer"></div>
<script>
function init(title, embed_config) {
var reportContainer = document.getElementById('reportContainer');
var reportFrame = powerbi.embed(reportContainer, embed_config);
reportFrame.fullscreen();
document.title = title;
}
</script>
</body>
</html>//Main.fs
namespace NCF.BPP
open WebSharper
open WebSharper.Sitelets
open WebSharper.UI.Next
open WebSharper.UI.Next.Server
open System.IO
type EndPoint =
| [<EndPoint "/">] Home
| [<EndPoint "/about">] About
module FrontEnd =
open WebSharper.UI.Next.Html
open State
let private f1 _ = ()
let private renderReport groupId (r:Report) : Doc =
divAttr
[
attr.``data-`` "groupId" groupId
attr.``data-`` "reportId" r.id
attr.``data-`` "embedUrl" r.embedUrl
]
[
aAttr [attr.href "#"; on.click <@ Client.reportClicked @>] [text r.name]
]
😆 Doc
let private renderReports groupId (reports:Map<string, Report>) =
reports
|> Map.toSeq
|> Seq.map (fun (_, r) -> renderReport groupId r)
|> Doc.Concat
let private renderWorkspace i (w:Workspace) : Doc =
divAttr
[attr.``class`` "panel panel-default"]
[divAttr
[attr.``class`` "panel-heading"]
[h4Attr
[attr.``class`` "panel-title"]
[aAttr
[attr.``data-`` "toggle" "collapse"; attr.``data-`` "parent" "#accordion"; attr.href (sprintf "#collapse%d" (i + 1))]
[text w.name]
]
]
;divAttr
[attr.``class`` "panel-collapse collapse"; attr.id (sprintf "collapse%d" (i + 1))]
[divAttr
[attr.``class`` "panel-body"]
[w.reports |> renderReports w.id]
]
]
😆 Doc
let private renderWorkspaces (workspaces:Workspaces) =
workspaces
|> Map.toSeq
|> Seq.mapi (fun i (_, w) -> renderWorkspace i w)
|> Doc.Concat
let Main (workspaces:Workspaces) =
divAttr
[attr.``class`` "container"]
[divAttr
[attr.``class`` "panel-group"; attr.id "accordion"]
[workspaces |> renderWorkspaces]
]
let body w h : Doc list =
[
divAttr [attr.id "embedReportHtml"; attr.hidden "true"] [text h]
Main w
div [client <@ Client.Main() @>]
]
module Templating =
open WebSharper.UI.Next.Html
type MainTemplate = Templating.Template<"Main.html">
let Main w h =
Content.Page(
MainTemplate()
.Body(FrontEnd.body w h)
.Doc())
module Site =
let private HomePage (ctx: Context<EndPoint>) =
let path = sprintf "%sRep.html" ctx.RootFolder
Templating.Main (State.getWorkspaces()) (File.ReadAllText(path))
//let AboutPage ctx =
// Templating.Main ctx EndPoint.About () "About" [
// h1 [text "About"]
// p [text "This is a template WebSharper client-server application."]
// ]
[<Website>]
let Main =
Application.MultiPage (fun ctx endpoint ->
match endpoint with
| EndPoint.Home -> HomePage ctx
| EndPoint.About -> HomePage ctx
)//Client.fs
namespace NCF.BPP
open WebSharper
[<JavaScript>]
module Client =
open WebSharper.UI.Next
open WebSharper.UI.Next.Html
open WebSharper.JavaScript
open WebSharper.JQuery
open WebSharper.UI.Next.Client.Attr
open WebSharper.UI.Next.Client.HtmlExtensions
open NCF.BPP.PowerBI.JSExtension
open Microsoft.PowerBI.Api.V2.Models
open WebSharper.UI.Next.Client.HtmlExtensions
type Permissions = Read = 0 | ReadWrite = 1 | Copy = 2 | Create = 4 | All = 7
type TokenType = Aad = 0 | Embed = 1
let private openReport name embedUrl reportId embedToken =
let powerbi_settings = PowerBISettings(FilterPaneEnabled = true, NavContentPaneEnabled = true)
let powerbi_conf =
PowerBIConfig(
Type = "report",
TokenType = int TokenType.Embed,
AccessToken = embedToken,
EmbedUrl = embedUrl,
Id = reportId,
Permissions = int Permissions.All,
Settings = powerbi_settings)
let html = JQuery("#embedReportHtml").Text()
let view = JS.Window.Open() :?> PowerBIView
view.Document.Write(html)
view.Init("NCF.BPP - " + name, powerbi_conf)
let private getEmbedToken gId rId =
async { return! Server.getEmbedTokenAsync gId rId }
let reportClicked (e:Dom.Element) _ =
async {
let div = e.ParentElement
let gId, rId, embedUrl = div.GetAttribute("data-groupId"), div.GetAttribute("data-reportId"), div.GetAttribute("data-embedUrl")
JQuery("*").Css("cursor", "progress").Ignore
let! token = getEmbedToken gId rId
JQuery("*").Css("cursor", "default").Ignore
match token with
| Ok embedToken -> openReport e.TextContent embedUrl rId embedToken
| Error message -> JS.Alert message
} |> Async.Start
let f _ (e:Dom.Element) =
let gId, rId = e.GetAttribute("data-groupId"), e.GetAttribute("data-reportId")
e.TextContent <- sprintf "%s - %s" gId rId
let init _ =
//JQuery.Of("[data-reportId]").Text("Pippo").Ignore
JQuery.Of("[data-reportId]").Each(f).Ignore
let Main () =
//JS.Document.
divAttr [(*OnAfterRender init*)] []
//JQuery.Of(init)//WIG Extension
namespace NCF.BPP.PowerBI.JSExtension
open WebSharper
open WebSharper.JavaScript
open WebSharper.InterfaceGenerator
module Definition =
let PowerBIView =
Class "PowerBIView" |=> Inherits T<Window>
let PowerBISettings =
Pattern.Config "PowerBISettings" {
Required = []
Optional =
[
"filterPaneEnabled" , T<bool>
"navContentPaneEnabled", T<bool>
]
}
let PowerBIConfig =
Pattern.Config "PowerBIConfig" {
Required = []
Optional =
[
"type", T<string>
"tokenType", T<int>
"accessToken" , T<string>
"embedUrl", T<string>
"id", T<string>
"permissions", T<int>
"settings", PowerBISettings.Type
]
}
let PowerBIViewClass =
PowerBIView |+> Instance [ "init" => T<string>?title * PowerBIConfig?embed_config ^-> T<unit>]
let Assembly =
Assembly [
Namespace "NCF.BPP.PowerBI.JSExtension" [
PowerBIConfig
PowerBISettings
PowerBIViewClass
]
]
[<Sealed>]
type Extension() =
interface IExtension with
member ext.Assembly =
Definition.Assembly
[<assembly: Extension(typeof<Extension>)>]
do ()
Vote for your favorite vizzies from the Power BI World Championship submissions!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 |
| User | Count |
|---|---|
| 6 | |
| 4 | |
| 3 | |
| 2 | |
| 2 |