2 votes

Supprimer les styles à l'aide de jQuery ou de toute autre méthode

J'ai vraiment besoin de l'aide d'un expert !

Je suis en train de créer un site qui présentera des courriers électroniques en HTML. J'ai donc besoin de supprimer tout le style à l'intérieur d'une div particulière afin de pouvoir copier et coller le code HTML de l'e-mail. Cela permettra de conserver le design original de l'email.

J'ai créé une page de test aquí J'ai essayé d'utiliser removeAttr de jQuery mais cela ne semble pas fonctionner.

Je sais coder en HTML et CSS, mais javaScript est nouveau pour moi, donc tout exemple clair serait bienvenu.

D'ailleurs, je ne suis pas accroché à jQuery. Tout ce qui peut faire l'affaire serait génial !

Merci d'avance,

Brendan.

Voici le JavaSript et le HTML

<link rel='stylesheet' id='style-css'  href='css/style.css' type='text/css' media='all' />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>

</head>

<body>
    <script type='text/javascript'>
        $(document).ready(function() {
    $('h1').removeAttr('style');
    });
</script>
<p>This is a paragraph tag.</p>
<h1>This is a H1 tag.</h1>
<div>
    <p>This is a p tag inside a styled div.</p>
    <table width="200" border="1">
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>
</div>
</body>
</html>

Voici le fichier CSS

table, th, td {
    border: 1px solid #CCCCCC;
}
table {
    margin-bottom: 1.5em;
    max-width: 100%;
    width: 100%;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
p, address {
margin-bottom: 1.5em;
font-size:19px;
}
h1{
    border-bottom: 5px solid #666666;
}
h1{
    font-family: "Oswald";
    line-height: 1.5;
    margin: 0 0 0;
    padding-bottom: 0.3em;
    text-transform: lowercase;
}
h1{
    font-size: 2em;
    line-height: 1;
    margin-bottom: 1em;
}
h1, h2, h3, h4, h5, h6 {
    clear: both;
    font-size: 100%;
    font-weight: normal;
}
div{
    background-color:#9F0;
}

2voto

NULL Points 10442
jQuery(function($) {
    $("style, link[rel=stylesheet]").remove();
    $("*").removeAttr("style");
});

0voto

Yazan Tommalieh Points 63

Je pense que ce dont vous avez besoin est en javascript :

document.getElementById('your_div').style='';
document.getElementById('your_div').setAttribute("class","");

0voto

Douglas Points 10417

Je vous recommande d'isoler votre page du contenu html des courriels en utilisant des iframes. Si vous diffusez le contenu du modèle de courrier électronique à partir d'un domaine différent de celui de la page mère, il y aura moins de possibilités que des contenus malveillants affectent votre site.

Voici ce qu'il en est :

<!-- in http://www.company.com/templates/123 -->

<iframe src="http://www.usercontent.com/templates/123.html"></iframe>

Sans la barrière interdomaine, si quelqu'un réussit à exécuter du javascript à l'intérieur du modèle, il ne pourra pas voler les cookies de l'utilisateur. En outre, comme le contenu se trouve dans des pages différentes, vous n'aurez pas de problèmes de mélange des feuilles de style CSS entre les différentes pages.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X