使用Javascript

时间:2016-02-25 17:28:53

标签: javascript html css tableau

我需要使用< iframe> 上传嵌入式可视化模板(在Tableau中创建),以便客户端可以实时查看它。但是,在Tableau模板的底部,有几个按钮(特别是“共享”,“记住我的更改”和“编辑” [见截图这里] )我想隐藏,因为它与客户无关;我仍然希望保留其他按钮,例如“导出”,“刷新”等在同一工具栏上。





我发现包装这些按钮的元素是< span class =“tab-fill-left”>






&#xA ;

其中嵌套在多个< iframe> 和其他HTML标记内。我最初的想法是附加一个< script> 标签,如下所示:




 < script type =“text / javascript” > 
 document.getElementsByClassName(“tab-fill-left”)。style.display =“none”; 
 alert('hello');
< / script>
  




&lt之后; iframe> (下面),我必须进入我公司的系统,以嵌入数据可视化页面。




 < iframe id =“tableau_content”src =“https://tableau-proxy.insidemedia.net/?site_id=MyCompanyProject&tableau_view=/views / MyCompanyEdition / Home%3F:embed = Yes%26:tabs = No%26:toolbar = Yes%26:display_share = No“width = 100%”height =“100%”style =“border:none; “>
< / iframe>
  




但我附加的JavaScript似乎对页面没有任何影响重新加载。有没有办法通过在其后添加另一个Javascript标记来影响< iframe> 下显示的元素?还是有办法让我隐藏这些“分享”,“记住我的在Tableau中更改“和”编辑“按钮?似乎有一些人运行在这种情况下使用Tableau进行同样的问题,无论他们建议什么都不适用于我(我根据雇主的要求使用Tableau 8.x)。





谢谢你


!

2 个答案:

答案 0 :(得分:2)

好吧,即使在同一个域中,这也行不通:

document.getElementsByClassName("tab-fill-left").style.display = "none";

上面给出了HTMLCollection。所以你需要这样做:

document.getElementsByClassName("tab-fill-left")[0].style.display = "none";
//----------------------------------------------^^^

希望你明白。

答案 1 :(得分:1)

如果在iframe中加载的页面与父框架不在同一个域中,则使用JavaScript或CSS无法实现。

这是在Web浏览器上实现的一项安全功能,用于防止XSS(跨站点脚本)。