2016-07-08 1 views
0

J'ai été chargé d'ajouter un fichier de script à une page lorsque vous cliquez sur un bouton. Pensé que ce serait facile. Le script affiche une fenêtre contextuelle qu'un utilisateur peut remplir dans un formulaire.exécuter un script pour ouvrir un autre fichier de script

J'ai mon bouton clique sur le travail et il ajoute le fichier script à la page et appelle le fichier script que je veux appeler.

function loadPopUp() { 
     var script = document.createElement('script'); 
     script.src = "/js/patpopup.js"; 
     var body = document.getElementsByTagName("body")[0]; 
     body.appendChild(script); 
     console.log("clicked"); 
     return false; 
    } 

Dans le script m'a donné c'est juste une url //r1.dotmailer-surveys.com/scripts/popover/111111?a=uc qui a été enveloppé dans des balises de script. Je ne peux pas obtenir le popup pour l'ouvrir, il me suffit d'aller à la page où tout le script est.

Si je l'entoure de balises de script et le place dans la page, il s'ouvre ok.

Que dois-je mettre dans le fichier patpopup.js que le script url est dans, j'ai essayé d'utiliser window.location et diverses autres méthodes pour essayer d'obtenir la page pour ouvrir dans la page et de produire la fenêtre, mais ouvre toujours le script au lieu de courir il. À la minute j'ai seulement le url //r1.dotmailer-surveys.com/scripts/popover/111111?a=uc dans mon fichier patpopup.js

+0

double possible: http://stackoverflow.com/questions/7789521/how-to-link- external-javascript-file-onclick-of-button – varit05

+0

Pourquoi l'ajoutez-vous au clic du bouton au lieu de simplement l'ajouter à la page et d'utiliser le bouton pour exécuter les fonctions dans le script? –

+0

Quand il vient d'être ajouté à la page, il s'ouvre juste dès que la page s'ouvre. Je voulais être en mesure de demander à l'utilisateur en cliquant sur un bouton alors il devrait apparaître – StudentRik

Répondre

0

Vous devez ajouter le protocole pour en faire une URL correcte dans ce cas.

Je voudrais aussi ajouter à la tête au lieu de corps à moins que le script document.writes choses:

function loadPopUp() { 
    var script = document.createElement('script'); 
    script.src = location.protocol+'//r1.dotmailer-surveys.com/scripts/popover/111111‌​?a=uc'; 
    var head = document.getElementsByTagName("head")[0]; 
    head.appendChild(script); 
    console.log("clicked"); 
    return false; 
} 
+0

Il est en train d'ajouter le bon script à la page maintenant. Mais ne montre pas le popup, il ajoute un 'iframe' mais ne déclenche pas l'ouverture de la popup. – StudentRik

+0

Je ne peux pas vous dire sans voir le script qu'il crée – mplungjan

+0

Merci pour votre aide. Je vais obtenir sur dotmailer. – StudentRik