$http.post('/someUrl', data).success(successCallback);
alert('test');
🤖 a GitHub App built with probot that keeps your forks up-to-date with upstream via automated pull requests.
Trusted by repositories, triggered
.
Can you help keep this open source service alive? 💖 Please sponsor : )
- Ensure forks are updated.
- Automatically integrate new changes from upstream.
- Pull requests are created when upstreams are updated.
- Automatically merge or hard reset pull requests to match upstream.
- Add assignees and reviewers to pull requests.
- Customize pull request label.
- Honor branch protection rules.
- Work well with pull request checks and reviews.
- Upstream must be in the same fork network.
⚠️ Make a backup if you've made changes.
⭐ Star this project (Highly recommended, starred users may receive priority over regular users)
- Just install
Pull app.
Pull app will automatically watch and pull in upstream's default (master) branch to yours using hard reset every few hours. You can also manually trigger it anytime.
-
Create a new branch.
-
Setup the new branch as default branch under repository Settings > Branches.
-
Add
.github/pull.ymlto your default branch.(behaves the same as Basic Setup)
version: "1" rules: - base: master upstream: wei:master # change `wei` to the owner of upstream repo mergeMethod: hardreset
version: "1" rules: # Array of rules - base: master # Required. Target branch upstream: wei:master # Required. Must be in the same fork network. mergeMethod: hardreset # Optional, one of [none, merge, squash, rebase, hardreset], Default: none. mergeUnstable: false # Optional, merge pull request even when the mergeable_state is not clean. Default: false - base: dev upstream: master # Required. Can be a branch in the same forked repo. assignees: # Optional - wei reviewers: # Optional - wei conflictReviewers: # Optional, on merge conflict assign a reviewer - wei label: ":arrow_heading_down: pull" # Optional conflictLabel: "merge-conflict" # Optional, on merge conflict assign a custom label, Default: merge-conflict
-
Go to
https://pull.git.ci/check/${owner}/${repo}to validate your.github/pull.yml(Public repos only). See #234 for another way to validate it. -
Install
Pull app.
Go to https://pull.git.ci/process/${owner}/${repo} to manually trigger pull.
Note: Nothing will happen if your branch is already even with upstream.
For the most common use case (a single master branch), you can just direct users to install Pull with no configurations.
If you need a more advanced setup (such as a docs branch in addition to master), consider adding .github/pull.yml to your repository pointing to yourself (see example). This will allow forks to install Pull and stay updated automatically.
Example (assuming owner is your user or organization name):
version: "1"
rules:
- base: master
upstream: owner:master
mergeMethod: hardreset
- base: docs
upstream: owner:docs
mergeMethod: hardreset<link rel="preconnect" href="https://fonts.gstatic.com">
<link rel="preload" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700&display=swap" as="style" type="text/css" crossorigin>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#157878">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<link rel="stylesheet" href="/pull/assets/css/style.css?v=95302f38ad37b88697a2095d8558bfc7ebcdfb6d">
<!-- start custom head snippets, customize with your own _includes/head-custom.html file -->
<header class="page-header" role="banner">
<h1 class="project-name">pull</h1>
<h2 class="project-tagline">🤖 Keep your forks up-to-date via automated PRs</h2>
<a href="https://github.com/wei/pull" class="btn">View on GitHub</a>
</header>
<main id="content" class="main-content" role="main">
<p align="center">
🤖 a GitHub App built with probot that keeps your forks up-to-date with upstream via automated pull requests.
Trusted by repositories, triggered
.
Can you help keep this open source service alive? 💖 Please sponsor : )
- Ensure forks are updated.
- Automatically integrate new changes from upstream.
- Pull requests are created when upstreams are updated.
- Automatically merge or hard reset pull requests to match upstream.
- Add assignees and reviewers to pull requests.
- Customize pull request label.
- Honor branch protection rules.
- Work well with pull request checks and reviews.
⭐ Star this project (Highly recommended, starred users may receive priority over regular users)
- Just install
Pull app.
Pull app will automatically watch and pull in upstream’s default (master) branch to yours using hard reset every few hours. You can also manually trigger it anytime.
- Create a new branch.
- Setup the new branch as default branch under repository Settings > Branches.
-
Add
.github/pull.ymlto your default branch.<h4 id="most-common">Most Common</h4> <p>(behaves the same as Basic Setup)</p> <div class="language-yaml highlighter-rouge">version: "1" rules: - base: master upstream: wei:master # change `wei` to the owner of upstream repo mergeMethod: hardreset<h4 id="advanced-usage">Advanced usage</h4> <div class="language-yaml highlighter-rouge">version: "1" rules: # Array of rules - base: master # Required. Target branch upstream: wei:master # Required. Must be in the same fork network. mergeMethod: hardreset # Optional, one of [none, merge, squash, rebase, hardreset], Default: none. mergeUnstable: false # Optional, merge pull request even when the mergeable_state is not clean. Default: false - base: dev upstream: master # Required. Can be a branch in the same forked repo. assignees: # Optional - wei reviewers: # Optional - wei conflictReviewers: # Optional, on merge conflict assign a reviewer - wei label: ":arrow_heading_down: pull" # Optional conflictLabel: "merge-conflict" # Optional, on merge conflict assign a custom label, Default: merge-conflict - Go to
https://pull.git.ci/check/${owner}/${repo}to validate your.github/pull.yml(Public repos only). See #234 for another way to validate it. - Install
Pull app.
Go to https://pull.git.ci/process/${owner}/${repo} to manually trigger pull.
Note: Nothing will happen if your branch is already even with upstream.
For the most common use case (a single master branch), you can just direct users to install Pull with no configurations.
If you need a more advanced setup (such as a docs branch in addition to master), consider adding .github/pull.yml to your repository pointing to yourself (see example). This will allow forks to install Pull and stay updated automatically.
Example (assuming owner is your user or organization name):
version: "1"
rules:
- base: master
upstream: owner:master
mergeMethod: hardreset
- base: docs
upstream: owner:docs
mergeMethod: hardreset
Wei He github@weispot.com
<footer class="site-footer">
<span class="site-footer-owner"><a href="https://github.com/wei/pull">pull</a> is maintained by <a href="https://github.com/wei">wei</a>.</span>
<span class="site-footer-credits">This page was generated by <a href="https://pages.github.com">GitHub Pages</a>.</span>
</footer>
</main>
<!doctype html>
<title>#coder – phytosanitary products by Start Export</title> <script type="text/javascript"> /* */ </script> <script type="text/javascript"> /* */ </script> <style id='wp-emoji-styles-inline-css'>img.wp-smiley, img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 0.07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
@media screen { html { margin-top: 32px !important; } }
@media screen and ( max-width: 782px ) { html { margin-top: 46px !important; } }
@media print { #wpadminbar { display:none; } }
.admin-bar {
position: inherit !important;
top: auto !important;
}
.admin-bar .goog-te-banner-frame {
top: 32px !important
}
@media screen and (max-width: 782px) {
.admin-bar .goog-te-banner-frame {
top: 46px !important;
}
}
@media screen and (max-width: 480px) {
.admin-bar .goog-te-banner-frame {
position: absolute;
}
}
window.doNotSellCallback = function() {
var linkElements = [
'a[href="https://wordpress.com/?ref=footer_blog"]',
'a[href="https://wordpress.com/?ref=footer_website"]',
'a[href="https://wordpress.com/?ref=vertical_footer"]',
'a[href^="https://wordpress.com/?ref=footer_segment_"]',
].join(',');
var dnsLink = document.createElement( 'a' );
dnsLink.href = 'https://wordpress.com/fr/advertising-program-optout/';
dnsLink.classList.add( 'do-not-sell-link' );
dnsLink.rel = 'nofollow';
dnsLink.style.marginLeft = '0.5em';
dnsLink.textContent = 'Ne pas vendre ni partager mes informations personnelles';
var creditLinks = document.querySelectorAll( linkElements );
if ( 0 === creditLinks.length ) {
return false;
}
Array.prototype.forEach.call( creditLinks, function( el ) {
el.insertAdjacentElement( 'afterend', dnsLink );
});
return true;
};
</script>
<link rel="icon" href="https://importdotexport.files.wordpress.com/2020/05/apple-logo.jpg?w=32" sizes="32x32" />
<div id="wpadminbar" class="nojq nojs ltr nav-unification">
<a class="screen-reader-shortcut" href="#wp-toolbar" tabindex="1">Skip to toolbar</a>
<div class="quicklinks" id="wp-toolbar" role="navigation" aria-label="Toolbar" tabindex="0">
<ul id="wp-admin-bar-root-default" class="ab-top-menu">
<li id="wp-admin-bar-blog" class="my-sites mb-trackable"><a class="ab-item" href="https://wordpress.com/sites/importdotexport.wordpress.com">My Sites</a> </li>
<li id="wp-admin-bar-jumptotop-button-menu"><a class="ab-item" href="#"><div id="jumptotop"><span class="noticon noticon-top"></span></div></a> </li>
<li id="wp-admin-bar-newdash" class="mb-trackable"><a class="ab-item" href="https://wordpress.com/read">Reader</a> </li> </ul>
<ul id="wp-admin-bar-top-secondary" class="ab-top-secondary ab-top-menu">
<li id="wp-admin-bar-notes" class="menupop"><a class="ab-item" href="https://wordpress.com/notifications"><span id="wpnt-notes-unread-count" class="wpnt-loading wpn-read"></span><span class="noticon noticon-bell"></span><span class="ab-text">Notifications</span></a><div id="wpnt-notes-panel2" style="display:none" lang="en" dir="ltr"><div class="wpnt-notes-panel-header"><span class="wpnt-notes-header"></span><span class="wpnt-notes-panel-link"></span></div></div> </li>
<li id="wp-admin-bar-my-account" class="with-avatar mb-trackable"><a class="ab-item" href="https://wordpress.com/me/"><img alt='' src='https://2.gravatar.com/avatar/b5b9824ceae24bfd4f1014aec909d057c7dd5400075008e865def6bc25d34d34?s=32&d=mm&r=G' srcset='https://2.gravatar.com/avatar/b5b9824ceae24bfd4f1014aec909d057c7dd5400075008e865def6bc25d34d34?s=32&d=mm&r=G 1x, https://2.gravatar.com/avatar/b5b9824ceae24bfd4f1014aec909d057c7dd5400075008e865def6bc25d34d34?s=48&d=mm&r=G 1.5x, https://2.gravatar.com/avatar/b5b9824ceae24bfd4f1014aec909d057c7dd5400075008e865def6bc25d34d34?s=64&d=mm&r=G 2x, https://2.gravatar.com/avatar/b5b9824ceae24bfd4f1014aec909d057c7dd5400075008e865def6bc25d34d34?s=96&d=mm&r=G 3x, https://2.gravatar.com/avatar/b5b9824ceae24bfd4f1014aec909d057c7dd5400075008e865def6bc25d34d34?s=128&d=mm&r=G 4x' class='avatar avatar-32' height='32' width='32' loading='lazy' decoding='async' /><span class="ab-text">Me</span></a> </li>
<li id="wp-admin-bar-ab-new-post" class="mb-trackable"><a class="ab-item" href="https://wordpress.com/post/importdotexport.wordpress.com"><span>Write</span></a> </li> </ul>
</div>
<a class="screen-reader-shortcut" href="https://importdotexport.wordpress.com/wp-login.php?action=logout&_wpnonce=87f9614ae8">Log Out</a>
</div>
<div class="wpcom-bubble action-bubble">
<div class="bubble-txt"></div>
</div>
<script type="text/javascript">
function hideBubble() {
var bubble = document.querySelector( 'div.wpcom-bubble' );
if ( ! bubble ) {
return;
}
bubble.parentElement.removeChild( bubble );
bubble = document.createElement( 'div' );
bubble.classList.add( 'wpcom-bubble' );
bubble.classList.add( 'action-bubble' );
bubble.innerHTML = '<div class="bubble-txt"></div>';
document.body.appendChild( bubble );
}
</script>
<script type="text/javascript">
(function () {
'use strict';
var isShowing = false;
document.querySelectorAll( '#wp-admin-bar-jumptotop-button-menu a' ).forEach( function ( el ) {
el.addEventListener( 'click', function ( e ) {
e.preventDefault();
if ( window.CSS && window.CSS.supports && window.CSS.supports( 'scroll-behavior', 'smooth' ) ) {
window.scroll( { top: 0, left: 0, behavior: 'smooth' } );
} else {
window.scroll( 0, 0 );
}
} );
} );
function hideShowButton() {
var jumpToTop = document.querySelector( '#jumptotop' );
if ( isShowing ) {
jumpToTop.style.transform = 'translateY( 0 )';
} else {
jumpToTop.style.transform = 'translateY( -50px )';
}
}
function hideShowTbJumpToTop() {
var total_width = 0;
// Calculate total width taken by items minus our button to see if it'll
// overlap with other toolbar menus.
document.querySelectorAll( '#wp-admin-bar-root-default > li' ).forEach( function( el ) {
if ( el.getAttribute( 'id' ) !== 'wp-admin-bar-jumptotop-button-menu' ) {
total_width += el.offsetWidth;
}
} );
var menu = document.querySelector( '#wp-admin-bar-jumptotop-button-menu' );
if ( ! menu ) {
return;
}
if ( menu.offsetLeft - total_width < 10 ) {
isShowing = false;
} else if ( window.scrollY >= 350 && ! isShowing ) {
if ( menu.offsetLeft - total_width < 10 ) {
return;
}
isShowing = true;
} else if ( window.scrollY < 1 && isShowing ) {
isShowing = false;
}
hideShowButton();
}
// handle on page load if auto scrolling to a position
hideShowTbJumpToTop();
// Bind to scroll event
var jumpToTopTimer = null;
window.addEventListener( 'scroll', function() {
clearTimeout( jumpToTopTimer );
jumpToTopTimer = setTimeout( hideShowTbJumpToTop, 150 );
}, { passive: true } );
})();
</script>
<p class="site-title"><a href="https://importdotexport.wordpress.com/" rel="home">phytosanitary products by Start Export</a></p>
<p class="site-description">
B2B </p>
<nav id="site-navigation" class="main-navigation" aria-label="Navigation principale">
<input type="checkbox" role="button" aria-haspopup="true" id="toggle" class="hide-visually">
<label for="toggle" id="toggle-menu" class="button">
Menu <span class="dropdown-icon open">+</span>
<span class="dropdown-icon close">×</span>
<span class="hide-visually expanded-text">déplié</span>
<span class="hide-visually collapsed-text">réduit</span>
</label>
<div class="menu-social-container"><ul id="menu-social-1" class="main-menu" aria-label="submenu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24"><a href="https://facebook.com">Facebook</a></li>
<div id="content" class="site-content">
<section id="primary" class="content-area">
<main id="main" class="site-main">
<header class="entry-header">
<h1 class="entry-title">#coder</h1> <div class="entry-meta">
<span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Publié par</span><span class="author vcard"><a class="url fn n" href="https://importdotexport.wordpress.com/author/startexpor/">Start Export</a></span></span><span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://importdotexport.wordpress.com/2024/01/11/coder/" rel="bookmark"><time class="entry-date published updated" datetime="2024-01-11T19:53:53+00:00">11 janvier 2024</time></a></span><span class="cat-links"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Publié dans</span><a href="https://importdotexport.wordpress.com/category/non-classe/" rel="category tag">Non classé</a></span><span class="edit-link"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><a class="post-edit-link" href="https://wordpress.com/post/importdotexport.wordpress.com/2078">Modifier <span class="screen-reader-text">#coder</span></a></span> </div><!-- .meta-info -->
</header>
<div class="entry-content">
### hi https://github.com/ayatweb/ayatweb/assets/145841131/622946b9-f3c8-414a-bb1b-1dea6157568a%5B!%5Blearn-github-actions%5D(https://github.com/ayatweb/ayatweb/actions/workflows/env.yml/badge.svg)%5D(https://github.com/ayatweb/ayatweb/actions/workflows/env.yml)https://github.com/ayatweb/ayatweb/assets/145841131/ba8fa9a1-cc57-4619-a92c-c4490765fb91  # npm – a JavaScript package manager   https://chat.openai.com/share/8b24837e-955c-466f-8900-821b73784a1f
Editing ayatweb/README.md at main · ayatweb/ayatweb
https://github.com/ayatweb/ayatweb/edit/main/README.md
De temps en temps, vos visiteurs peuvent voir de la publicité à cet emplacement,
ainsi qu’une bannière de Confidentialité & Cookies au bas de la page.
Vous pouvez masquer complètement ces publicités grâce à une mise à niveau vers l’un de nos plans payants.
<script>
__ATA.cmd.push(function() {
__ATA.initDynamicSlot({
id: 'atatags-26942-65a0476a61e61',
location: 120,
formFactor: '001',
label: {
text: 'Publicités',
},
creative: {
reportAd: {
text: 'Report this Ad',
},
privacySettings: {
text: 'Confidentialité',
}
}
});
});
</script><div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"><div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-official sd-sharing"><h3 class="sd-title">Partager :</h3><div class="sd-content"><ul><li class="share-telegram"><a rel="nofollow noopener noreferrer" data-shared="" class="share-telegram sd-button" href="https://importdotexport.wordpress.com/2024/01/11/coder/?share=telegram" target="_blank" title="Cliquez pour partager sur Telegram" ><span>Telegram</span></a></li><li class="share-linkedin"><div class="linkedin_button"><script type="in/share" data-url="https://importdotexport.wordpress.com/2024/01/11/coder/" data-counter="right"></script></div></li><li class="share-skype share-deprecated"><a rel="nofollow" data-shared="" class="share-skype sd-button" href="https://importdotexport.wordpress.com/2024/01/11/coder/" title="Le service de partage Skype a fermé ou cessé de prendre en charge les boutons de partage. Ce bouton de partage n’est plus visible par vos visiteurs. Vous devriez le supprimer." ><span>Skype n’est plus pris en charge</span></a></li><li class="share-tumblr"><a class="tumblr-share-button" target="_blank" href="https://www.tumblr.com/share" data-title="#coder" data-content="https://importdotexport.wordpress.com/2024/01/11/coder/" title="Partager sur Tumblr">Partager sur Tumblr</a></li><li class="share-print"><a rel="nofollow noopener noreferrer" data-shared="" class="share-print sd-button" href="https://importdotexport.wordpress.com/2024/01/11/coder/#print" target="_blank" title="Cliquer pour imprimer" ><span>Imprimer</span></a></li><li class="share-twitter"><a href="https://twitter.com/share" class="twitter-share-button" data-url="https://importdotexport.wordpress.com/2024/01/11/coder/" data-text="#coder" data-via="skyperx1" data-related="wordpressdotcom">Tweet</a></li><li class="share-pinterest"><div class="pinterest_button"><a href="https://www.pinterest.com/pin/create/button/?url=https%3A%2F%2Fimportdotexport.wordpress.com%2F2024%2F01%2F11%2Fcoder%2F&media=https%3A%2F%2Fimportdotexport.files.wordpress.com%2F2020%2F05%2Fapple-logo.jpg%3Fw%3D96&description=%23coder" data-pin-do="buttonPin" data-pin-config="beside"><img src="//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png" /></a></div></li><li class="share-reddit"><a rel="nofollow noopener noreferrer" data-shared="" class="share-reddit sd-button" href="https://importdotexport.wordpress.com/2024/01/11/coder/?share=reddit" target="_blank" title="Cliquez pour partager sur Reddit" ><span>Reddit</span></a></li><li class="share-press-this"><a rel="nofollow noopener noreferrer" data-shared="" class="share-press-this sd-button" href="https://importdotexport.wordpress.com/2024/01/11/coder/?share=press-this" target="_blank" title="Click to Press This!" ><span>Publier un article</span></a></li><li class="share-facebook"><div class="fb-share-button" data-href="https://importdotexport.wordpress.com/2024/01/11/coder/" data-layout="button_count"></div></li><li class="share-pocket"><div class="pocket_button"><a href="https://getpocket.com/save" class="pocket-btn" data-lang="en" data-save-url="https://importdotexport.wordpress.com/2024/01/11/coder/" data-pocket-count="horizontal" >Pocket</a></div></li><li class="share-email"><a rel="nofollow noopener noreferrer" data-shared="" class="share-email sd-button" href="mailto:?subject=%5BArticle%20partag%C3%A9%5D%20%23coder&body=https%3A%2F%2Fimportdotexport.wordpress.com%2F2024%2F01%2F11%2Fcoder%2F&share=email" target="_blank" title="Cliquer pour envoyer un lien par e-mail à un ami" data-email-share-error-title="Votre messagerie est-elle configurée ?" data-email-share-error-text="Si vous rencontrez des problèmes de partage par e-mail, votre messagerie n’est peut-être pas configurée pour votre navigateur. Vous devrez peut-être créer vous-même une nouvelle messagerie." data-email-share-nonce="550c83b479" data-email-share-track-url="https://importdotexport.wordpress.com/2024/01/11/coder/?share=email"><span>E-mail</span></a></li><li class="share-jetpack-whatsapp"><a rel="nofollow noopener noreferrer" data-shared="" class="share-jetpack-whatsapp sd-button" href="https://importdotexport.wordpress.com/2024/01/11/coder/?share=jetpack-whatsapp" target="_blank" title="Cliquez pour partager sur WhatsApp" ><span>WhatsApp</span></a></li><li class="share-end"></li></ul><p class="share-customize-link"><a href="https://jetpack.com/redirect/?source=calypso-marketing-sharing-buttons&site=importdotexport.wordpress.com" target="_blank" rel="noopener noreferrer">Personnaliser les boutons</a></p></div></div></div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-177426086-2078-65a0476a62eff' data-src='//widgets.wp.com/likes/index.html?ver=20240111#blog_id=177426086&post_id=2078&origin=importdotexport.wordpress.com&obj_id=177426086-2078-65a0476a62eff&n=1' data-name='like-post-frame-177426086-2078-65a0476a62eff' data-title='Aimer ou rebloguer'><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>J’aime</span></span> <span class='loading'>chargement…</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div>
<footer class="entry-footer responsive-max-width">
<span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Publié par</span><span class="author vcard"><a class="url fn n" href="https://importdotexport.wordpress.com/author/startexpor/">Start Export</a></span></span><span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://importdotexport.wordpress.com/2024/01/11/coder/" rel="bookmark"><time class="entry-date published updated" datetime="2024-01-11T19:53:53+00:00">11 janvier 2024</time></a></span><span class="cat-links"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Publié dans</span><a href="https://importdotexport.wordpress.com/category/non-classe/" rel="category tag">Non classé</a></span><span class="edit-link"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><a class="post-edit-link" href="https://wordpress.com/post/importdotexport.wordpress.com/2078">Modifier <span class="screen-reader-text">#coder</span></a></span> </footer><!-- .entry-footer -->
<div class="author-bio responsive-max-width">
<h2 class="author-title">
<span class="author-heading">
Publié par Start Export </span>
</h2>
<p class="author-description">
B2B
Import Export Voir plus d’articles
<nav class="navigation post-navigation" aria-label="Articles">
<h2 class="screen-reader-text">Navigation des articles</h2>
<div class="nav-links"><div class="nav-previous"><a href="https://importdotexport.wordpress.com/2024/01/10/ayatweb-fastx/" rel="prev"><span class="meta-nav" aria-hidden="true">Article précédent</span> <span class="screen-reader-text">Article précédent :</span> <br/><span class="post-title">@ayatweb #fastx</span></a></div></div>
</nav>
<div id="respond" class="comment-respond">
<h3 id="reply-title" class="comment-reply-title">Votre commentaire <small><a rel="nofollow" id="cancel-comment-reply-link" href="/2024/01/11/coder/#respond" style="display:none;">Annuler la réponse.</a></small></h3><form action="https://importdotexport.wordpress.com/wp-comments-post.php" method="post" id="commentform" class="comment-form" novalidate><div id="comment-form__verbum" class="transparent"></div><div class="verbum-form-meta"><input type='hidden' name='comment_post_ID' value='2078' id='comment_post_ID' />
<input type="hidden" name="highlander_comment_nonce" id="highlander_comment_nonce" value="5800d1c573" />
<input type="hidden" name="verbum_show_subscription_modal" value="hidden_is_blog_member" /></div><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="dd07566663" /></p><p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="226"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div><!-- #respond -->
</main><!-- #main -->
</section><!-- #primary -->
</div><!-- #content -->
<footer id="colophon" class="site-footer responsive-max-width">
<nav class="footer-navigation" aria-label="Menu du pied de page">
<div class="menu-social-container"><ul id="menu-social-3" class="footer-menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24"><a href="https://facebook.com">Facebook</a></li>
<div class="site-info">
<a class="site-name" href="https://importdotexport.wordpress.com/" rel="home">phytosanitary products by Start Export</a><span class="comma">,</span>
Un site Web propulsé par WordPress.com.
<script type="text/javascript" src="//0.gravatar.com/js/hovercards/hovercards.min.js?ver=202402131f6b765e798866d728f95661b78bbf269c86482ffff0fa8c08e18a1a65cc89" id="grofiles-cards-js"></script> <script type="text/javascript" id="wpgroho-js-extra"> /* */ </script> <script crossorigin='anonymous' type='text/javascript' src='https://s0.wp.com/wp-content/mu-plugins/gravatar-hovercards/wpgroho.js?m=1610363240i'></script><script>
// Initialize and attach hovercards to all gravatars
( function() {
function init() {
if ( typeof Gravatar === 'undefined' ) {
return;
}
if ( typeof Gravatar.init !== 'function' ) {
return;
}
Gravatar.profile_cb = function ( hash, id ) {
WPGroHo.syncProfileData( hash, id );
};
Gravatar.my_hash = WPGroHo.my_hash;
Gravatar.init(
'body',
'#wp-admin-bar-my-account',
{
i18n: {
'Edit your profile': 'Modifier votre profil',
'View profile': 'View profile',
'Sorry, we are unable to load this Gravatar profile.': 'Sorry, we are unable to load this Gravatar profile.',
'Sorry, we are unable to load this Gravatar profile. Please check your internet connection.': 'Sorry, we are unable to load this Gravatar profile. Please check your internet connection.',
},
}
);
}
if ( document.readyState !== 'loading' ) {
init();
} else {
document.addEventListener( 'DOMContentLoaded', init );
}
} )();
</script>
<div style="display:none">
<div class="grofile-hash-map-f91e4af369f32331ae0e1a23eaa91b37">
</div>
</div>
<!-- CCPA [start] -->
<script type="text/javascript">
( function () {
var setupPrivacy = function() {
// Minimal Mozilla Cookie library
// https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie/Simple_document.cookie_framework
var cookieLib = window.cookieLib = {getItem:function(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,o,n,t,r,i){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var c="";if(n)switch(n.constructor){case Number:c=n===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+n;break;case String:c="; expires="+n;break;case Date:c="; expires="+n.toUTCString()}return"rootDomain"!==r&&".rootDomain"!==r||(r=(".rootDomain"===r?".":"")+document.location.hostname.split(".").slice(-2).join(".")),document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(o)+c+(r?"; domain="+r:"")+(t?"; path="+t:"")+(i?"; secure":""),!0}};
// Implement IAB USP API.
window.__uspapi = function( command, version, callback ) {
// Validate callback.
if ( typeof callback !== 'function' ) {
return;
}
// Validate the given command.
if ( command !== 'getUSPData' || version !== 1 ) {
callback( null, false );
return;
}
// Check for GPC. If set, override any stored cookie.
if ( navigator.globalPrivacyControl ) {
callback( { version: 1, uspString: '1YYN' }, true );
return;
}
// Check for cookie.
var consent = cookieLib.getItem( 'usprivacy' );
// Invalid cookie.
if ( null === consent ) {
callback( null, false );
return;
}
// Everything checks out. Fire the provided callback with the consent data.
callback( { version: 1, uspString: consent }, true );
};
// Initialization.
document.addEventListener( 'DOMContentLoaded', function() {
// Internal functions.
var setDefaultOptInCookie = function() {
var value = '1YNN';
var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname;
cookieLib.setItem( 'usprivacy', value, 365 * 24 * 60 * 60, '/', domain );
};
var setDefaultOptOutCookie = function() {
var value = '1YYN';
var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname;
cookieLib.setItem( 'usprivacy', value, 24 * 60 * 60, '/', domain );
};
var setDefaultNotApplicableCookie = function() {
var value = '1---';
var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname;
cookieLib.setItem( 'usprivacy', value, 24 * 60 * 60, '/', domain );
};
var setCcpaAppliesCookie = function( applies ) {
var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname;
cookieLib.setItem( 'ccpa_applies', applies, 24 * 60 * 60, '/', domain );
}
var maybeCallDoNotSellCallback = function() {
if ( 'function' === typeof window.doNotSellCallback ) {
return window.doNotSellCallback();
}
return false;
}
// Look for usprivacy cookie first.
var usprivacyCookie = cookieLib.getItem( 'usprivacy' );
// Found a usprivacy cookie.
if ( null !== usprivacyCookie ) {
// If the cookie indicates that CCPA does not apply, then bail.
if ( '1---' === usprivacyCookie ) {
return;
}
// CCPA applies, so call our callback to add Do Not Sell link to the page.
maybeCallDoNotSellCallback();
// We're all done, no more processing needed.
return;
}
// We don't have a usprivacy cookie, so check to see if we have a CCPA applies cookie.
var ccpaCookie = cookieLib.getItem( 'ccpa_applies' );
// No CCPA applies cookie found, so we'll need to geolocate if this visitor is from California.
// This needs to happen client side because we do not have region geo data in our $SERVER headers,
// only country data -- therefore we can't vary cache on the region.
if ( null === ccpaCookie ) {
var request = new XMLHttpRequest();
request.open( 'GET', 'https://public-api.wordpress.com/geo/', true );
request.onreadystatechange = function () {
if ( 4 === this.readyState ) {
if ( 200 === this.status ) {
// Got a geo response. Parse out the region data.
var data = JSON.parse( this.response );
var region = data.region ? data.region.toLowerCase() : '';
var ccpa_applies = ['california', 'colorado', 'connecticut', 'utah', 'virginia'].indexOf( region ) > -1;
// Set CCPA applies cookie. This keeps us from having to make a geo request too frequently.
setCcpaAppliesCookie( ccpa_applies );
// Check if CCPA applies to set the proper usprivacy cookie.
if ( ccpa_applies ) {
if ( maybeCallDoNotSellCallback() ) {
// Do Not Sell link added, so set default opt-in.
setDefaultOptInCookie();
} else {
// Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe.
setDefaultOptOutCookie();
}
} else {
// CCPA does not apply.
setDefaultNotApplicableCookie();
}
} else {
// Could not geo, so let's assume for now that CCPA applies to be safe.
setCcpaAppliesCookie( true );
if ( maybeCallDoNotSellCallback() ) {
// Do Not Sell link added, so set default opt-in.
setDefaultOptInCookie();
} else {
// Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe.
setDefaultOptOutCookie();
}
}
}
};
// Send the geo request.
request.send();
} else {
// We found a CCPA applies cookie.
if ( ccpaCookie === 'true' ) {
if ( maybeCallDoNotSellCallback() ) {
// Do Not Sell link added, so set default opt-in.
setDefaultOptInCookie();
} else {
// Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe.
setDefaultOptOutCookie();
}
} else {
// CCPA does not apply.
setDefaultNotApplicableCookie();
}
}
} );
};
// Kickoff initialization.
if ( window.defQueue && defQueue.isLOHP && defQueue.isLOHP === 2020 ) {
defQueue.items.push( setupPrivacy );
} else {
setupPrivacy();
}
} )();
</script>
<!-- CCPA [end] -->
<div class="widget widget_eu_cookie_law_widget">
<script type="text/javascript">
window.WPCOM_sharing_counts = {"https:\/\/importdotexport.wordpress.com\/2024\/01\/11\/coder\/":2078};
</script>
<script type="text/javascript">
( function () {
var currentScript = document.currentScript;
// Helper function to load an external script.
function loadScript( url, cb ) {
var script = document.createElement( 'script' );
var prev = currentScript || document.getElementsByTagName( 'script' )[ 0 ];
script.setAttribute( 'async', true );
script.setAttribute( 'src', url );
prev.parentNode.insertBefore( script, prev );
script.addEventListener( 'load', cb );
}
function init() {
loadScript( 'https://platform.linkedin.com/in.js?async=true', function () {
if ( typeof IN !== 'undefined' ) {
IN.init();
}
} );
}
if ( document.readyState === 'loading' ) {
document.addEventListener( 'DOMContentLoaded', init );
} else {
init();
}
document.body.addEventListener( 'is.post-load', function() {
if ( typeof IN !== 'undefined' ) {
IN.parse();
}
} );
} )();
</script>
<script id="tumblr-js" type="text/javascript" src="https://assets.tumblr.com/share-button.js"></script>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script type="text/javascript">
( function () {
// Pinterest shared resources
var s = document.createElement( 'script' );
s.type = 'text/javascript';
s.async = true;
s.setAttribute( 'data-pin-hover', true ); s.src = window.location.protocol + '//assets.pinterest.com/js/pinit.js';
var x = document.getElementsByTagName( 'script' )[ 0 ];
x.parentNode.insertBefore(s, x);
// if 'Pin it' button has 'counts' make container wider
function init() {
var shares = document.querySelectorAll( 'li.share-pinterest' );
for ( var i = 0; i < shares.length; i++ ) {
var share = shares[ i ];
var countElement = share.querySelector( 'a span' );
if (countElement) {
var countComputedStyle = window.getComputedStyle(countElement);
if ( countComputedStyle.display === 'block' ) {
var countWidth = parseInt( countComputedStyle.width, 10 );
share.style.marginRight = countWidth + 11 + 'px';
}
}
}
}
if ( document.readyState !== 'complete' ) {
document.addEventListener( 'load', init );
} else {
init();
}
} )();
</script>
<div id="fb-root"></div>
<script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = 'https://connect.facebook.net/fr_FR/sdk.js#xfbml=1&appId=249643311490&version=v2.3'; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script>
<script>
document.body.addEventListener( 'is.post-load', function() {
if ( 'undefined' !== typeof FB ) {
FB.XFBML.parse();
}
} );
</script>
<script>
( function () {
var currentScript = document.currentScript;
// Don't use Pocket's default JS as it we need to force init new Pocket share buttons loaded via JS.
function jetpack_sharing_pocket_init() {
var script = document.createElement( 'script' );
var prev = currentScript || document.getElementsByTagName( 'script' )[ 0 ];
script.setAttribute( 'async', true );
script.setAttribute( 'src', 'https://widgets.getpocket.com/v1/j/btn.js?v=1' );
prev.parentNode.insertBefore( script, prev );
}
if ( document.readyState === 'loading' ) {
document.addEventListener( 'DOMContentLoaded', jetpack_sharing_pocket_init );
} else {
jetpack_sharing_pocket_init();
}
document.body.addEventListener( 'is.post-load', jetpack_sharing_pocket_init );
} )();
</script>
<script type="text/javascript" id="comment-like-js-extra">
/* */ </script>
<script type="text/javascript" id="wordads-preview-js-extra"> /* */ </script> <script type="text/javascript" id="sharing-js-js-extra"> /* */ </script> <script type="text/javascript" id="verbum-settings-js-before"> /* */ </script> <script crossorigin='anonymous' type='text/javascript' src='https://s0.wp.com/_static/??-eJx9UdtygyAQ/aEidpJp+tLpp3RW2OoiF8tCHP++aGLsZKxvsOey54AcB6GCT+iTdFkMNrfkWY6kW0wsMRc09ITCwigTusFCwqd5ZfhF7vtY6gv7J2PGDry2GFcyeWWzLqBh2YUrRlrEwnDlyO+xQBdANBD/EnZ2PngFV8GJTfe/puxvspPAPLfWkwdHStgAGo9kxd7NoW81zdNgr8RKiDjYaa9IY0O7fUOIGjQLZedki8E6GiJeCY/efnsHB5xKQYgiRVA9H4l6YodJnKpafpXgj8F3XMj6QGswDcX+fpec/c2iyWS15A4iluh6Wo7k23v9T/fxeqnP76dL/VabX0zC9Qw='></script> <script type="text/javascript" id="sharing-js-js-after"> /* */ </script><script>
/(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())},!1);
</script>
<script type="text/javascript">
(function () {
var wpcom_reblog = {
source: 'toolbar',
toggle_reblog_box_flair: function (obj_id, post_id) {
// Go to site selector. This will redirect to their blog if they only have one.
const postEndpoint = `https://wordpress.com/post`;
// Ideally we would use the permalink here, but fortunately this will be replaced with the
// post permalink in the editor.
const originalURL = `${ document.location.href }?page_id=${ post_id }`;
const url =
postEndpoint +
'?url=' +
encodeURIComponent( originalURL ) +
'&is_post_share=true' +
'&v=5';
const redirect = function () {
if (
! window.open( url, '_blank' )
) {
location.href = url;
}
};
if ( /Firefox/.test( navigator.userAgent ) ) {
setTimeout( redirect, 0 );
} else {
redirect();
}
},
};
window.wpcom_reblog = wpcom_reblog;
})();
</script>
<div id='likes-other-gravatars' class='wpl-new-layout' role="dialog" aria-hidden="true" tabindex="-1">
<div class="likes-text">
<span>%d</span> </div>
<ul class="wpl-avatars sd-like-gravatars"></ul>
</div>
<script src="//stats.wp.com/w.js?66" defer></script> <script type="text/javascript">
_tkq = window._tkq || [];
_stq = window._stq || [];
_tkq.push(['identifyUser', 186149436, 'startexpor']);
_tkq.push(['storeContext', {'blog_id':'177426086','blog_tz':'0','user_lang':'en','blog_lang':'fr'}]);
_stq.push(['view', {'blog':'177426086','v':'wpcom','tz':'0','user':'1','user_id':'186149436','post':'2078','subd':'importdotexport'}]);
_stq.push(['extra', {'crypt':'UE5XaGUuOTlwaD85flAmcm1mcmZsaDhkV11YdWFnNncxc1tjZG9XVXhRUWsuSltdVUZYUVZqSU9FXXg2aDdLTnBkTmhhd2g5WGttVzdqSCx5WVlDXW9CdS9ES3xfS1JHSUlMbkdxbGRmZW8sZy9COHlLX3IsMiwsfjdOVklDP0grLj8xcVVfWzFvZml2K3ZqLl9fcE18djhsbC5ZVDNyX1hKNWVbRHwlV29JSWM9aEhWdUF+NEFlUnJUUU5fLmtJLHE3eGhmXXdtNXlic0k2ZktwTTRbOHBYZkZDNGk/QW9dVkg9Sy1UMGZSUlFJbFVkLXJYflpSJU9OY0hMMnFQdEEmZWtvMF89dWQmK2Fhd2g/VXJ+MHBTa2lJW3YyLzRbcjUwYXJrVllpSWRmP2FZaW9nbXRxWCs1ZEMyNCxwMkRQaDNbbnBWMA=='}]);
</script>
window._tkq = window._tkq || [];
document.querySelectorAll( '#marketingbar > a' ).forEach( link => {
link.addEventListener( 'click', ( e ) => {
window._tkq.push( [ 'recordEvent', 'wpcom_marketing_bar_cta_click', {"is_current_user_blog_owner":true} ] );
} );
});
</script><script>
if ( 'object' === typeof wpcom_mobile_user_agent_info ) {
wpcom_mobile_user_agent_info.init();
var mobileStatsQueryString = "";
if( false !== wpcom_mobile_user_agent_info.matchedPlatformName )
mobileStatsQueryString += "&x_" + 'mobile_platforms' + '=' + wpcom_mobile_user_agent_info.matchedPlatformName;
if( false !== wpcom_mobile_user_agent_info.matchedUserAgentName )
mobileStatsQueryString += "&x_" + 'mobile_devices' + '=' + wpcom_mobile_user_agent_info.matchedUserAgentName;
if( wpcom_mobile_user_agent_info.isIPad() )
mobileStatsQueryString += "&x_" + 'ipad_views' + '=' + 'views';
if( "" != mobileStatsQueryString ) {
new Image().src = document.location.protocol + '//pixel.wp.com/g.gif?v=wpcom-no-pv' + mobileStatsQueryString + '&baba=' + Math.random();
}
} </script>
<script> (function() { 'use strict'; const fetches = {}; const promises = {}; const urls = { 'verbum': 'https://s0.wp.com/wp-content/mu-plugins/verbum/dist/index.js?m=1704973945i&ver=1704973945' }; const loaders = { 'verbum': () => { fetchExternalScript('verbum'); promises['verbum'] = promises['verbum'] || loadWPScript('verbum'); return promises['verbum']; }, }; const scriptExtras = { }; window.WP_Enqueue_Dynamic_Script = { loadScript: (handle) => { if (!loaders[handle]) { console.error('WP_Enqueue_Dynamic_Script: unregistered script `' + handle + '`.'); } return loaders[handle](); } }; function fetchExternalScript(handle) { if (!urls[handle]) { return Promise.resolve(); } fetches[handle] = fetches[handle] || fetch(urls[handle], { mode: 'no-cors' }); return fetches[handle]; } function runExtraScript(handle, type, index) { const id = 'wp-enqueue-dynamic-script:' + handle + ':' + type + ':' + (index + 1); const template = document.getElementById(id); if (!template) { return Promise.reject(); } const script = document.createElement( 'script' ); script.innerHTML = template.innerHTML; document.body.appendChild( script ); return Promise.resolve(); } function loadExternalScript(handle) { if (!urls[handle]) { return Promise.resolve(); } return fetches[handle].then(() => { return new Promise((resolve, reject) => { const script = document.createElement('script'); script.onload = () => resolve(); script.onerror = (e) => reject(e); script.src = urls[handle]; document.body.appendChild(script); }); }); } function loadExtra(handle, pos) { const count = (scriptExtras[handle] && scriptExtras[handle][pos]) || 0; let promise = Promise.resolve(); for (let i = 0; i < count; i++) { promise = promise.then(() => runExtraScript(handle, pos, i)); } return promise; } function loadWPScript(handle) { return loadExtra(handle, 'before') .then(() => loadExternalScript(handle)) .then(() => loadExtra(handle, 'after')); } } )(); </script>
phytosanitary products by Start Export