Manipulating CSS in Jira's activity stream via announcement banner

Hello,

we are trying to introduce voting feature for just one project. In this case, I need to find a way to hide every vote functionality by default, but activate for the mentioned project.

I'm running into problems by hiding the vote button in activity stream. I don't want to manipulate Jira's source code to get this work (explained here: http://blog.networkedcollaboration.com/2012/03/19/editing-jira-activity-stream-css).

When I use this code in the announcement banner, I can hide the button by adding an css to the header of every iframe:

AJS.$(document).ready(function() {	
	AJS.$("input#testbutton").click(function () {
		AJS.$("iframe").each(function (index) {
			var frm = this.contentWindow.document;
			var otherhead = frm.getElementsByTagName("head")[0];
			var link = frm.createElement("link");
			link.setAttribute("rel", "stylesheet");
			link.setAttribute("type", "text/css");
			link.setAttribute("href", "vote.css");
			otherhead.appendChild(link);
		});
	});
});

As you can see, this code gets triggered by a click on a button, placed in the announcement banner, too. So after finishing load of page and iframes, I can hide the vote button by firing this click event of the testbutton.

What does not work is executing this code on every iframe's load event:

AJS.$(document).ready(function() {
	AJS.$("iframe").load(function() {
		var frm = this.contentWindow.document;
		var otherhead = frm.getElementsByTagName("head")[0];
		var link = frm.createElement("link");
		link.setAttribute("rel", "stylesheet");
		link.setAttribute("type", "text/css");
		link.setAttribute("href", "vote.css");
		otherhead.appendChild(link);
	});
});

I tested the load event in a single html file, that includes two iframes. There it works quite good! Placing this in Jira's announcement banner nothing happens. I tried to use the load event to raise an alert message, this does not show up, either. So my conclusion is, that the load event is not fired.

Anyone with a suggestion here? :)

Thank you in advance!

1 answer

1 accepted

I finished up with the following solution/workaround:

  1. create function that hides the vote button (see above)
  2. call this function after a timeout of x seconds, where x is 0.1, 0.5, 1, 5 seconds

this is not a good one , but a solution, that works.

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Monday in Jira Software

How large do you think Jira Software can grow?

Hi Atlassian Community! My name is Shana, and I’m on the Jira Software team. One of the many reasons this Community exists is to connect you to others on similar product journeys or with comparabl...

685 views 6 13
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you