Cómo inyectar dinámicamente una función de JavaScript?

Estoy atrapado usando un producto con una interfaz de usuario horrible en el trabajo y tratando de hacerlo aceptable a través de UserScripts en Chrome. Con ese fin, estoy tratando de inyectar una función de JavaScript en la página a través del mecanismo UserScripts:

// find the div
var dropDown = document.getElementById("tstGlobalNavigation_ddlChooseProject");

// inject function
dropDown.innerHTML = dropDown.innerHTML + "<script>function gotoIncident(){alert('111')}</script>";        

// inject a button
dropDown.innerHTML = dropDown.innerHTML + "&nbsp;&nbsp;&nbsp;<input type='button' name='btnSearch' value='Go' onClick='javascript:gotoIncident()' >";

omo puede ver, estoy inyectando un botón y una función gotoIncident) que debería activarse cuando el usuario hace clic en el botón.

El botón aparece en la pantalla, pero cuando hago clic en él, el depurador de JavaScript me dice quegotoIncident no está definido

¿Qué me estoy perdiendo

Respuestas a la pregunta(3)

Su respuesta a la pregunta