¿El script de usuario de Twitter afecta a otras páginas que no sean las previstas (@incluidas)?

El siguiente UserScript está destinado a funcionar en mi propia página de perfil de Twitter (no en la línea de tiempo).

// ==UserScript==
// @name            CoolScript
// @include         https://twitter.com/IJNanayakkara
// @include         https://twitter.com/IJNanayakkara/status/*
// @require         http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @require         https://gist.github.com/raw/2625891/waitForKeyElements.js
// @version         1.0
// @license         GPL v3 or any later version (http://www.gnu.org/copyleft/gpl.html)
// @grant           GM_addStyle
// ==/UserScript==

function prependToTweet(jNode) {
    jNode.prepend("Hello World ");
}

waitForKeyElements("p.js-tweet-text", prependToTweet);

Lo que hace es agregar una cadena de texto dada al comienzo de cada tweet en la página.

Aunque el guión hace lo que quiero, me enfrento a dos problemas.

1. El script afecta a páginas distintas de las definidas en@include.

Instalo el script y voy a mi perfil de twitter. Y todos los tweets tienen elHola Mundo cadena agregada al principio. Esto se espera.

Pero luego voy a mi página de línea de tiempo y todos los tweets allí también tienen elHola Mundo cadena agregada a ellos que no es un comportamiento previsto.

Necesito saber por qué sucede esto.

2)Hola Mundo cadena cadena se duplica a sí misma.

Digamos que hago clic en un tweet para verlo en una sola página. Funciona bien.

Luego vuelvo a mi página de perfil.

Si voy a otra página y regreso otra vez, la cadena se repite una vez más.

Estos son los dos problemas que estoy enfrentando. Supongo que esto ocurre debido a AJAX, pero no puedo encontrar una manera de abordarlo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta