android – ¿Como puedo compartir una imagen desde una PWA Safari?

Tengo el siguiente código para compartir una imagen desde una PWA hacia otra aplicación nativa que funciona como se supone en Chrome Android, pero en Safari IOS no funciona y no me dice el error

El html/css:

<img id="edition" class="rounded-lg" src="{{ env('IMAGE_PREFIX') . $edition->edition_url ?? '' }}" onclick="viewAny('#edition')" alt="image" style="min-width:18rem; max-width:18rem; min-height:12rem; max-height:12rem; object-fit:cover; object-position: 15% 15%;"/>
<span class="non-selectable absolute right-1 bottom-10 rounded-full bg-green-500 text-white py-1 px-2" onclick="postNow()">Post now</span>

El js:

    // POST NOW
    async function postNow() {
        try {

            var image = document.querySelector('#edition');
            var imageUrl = image.src;
            var response = await fetch(imageUrl);
            var blob = await response.blob();
            var file = new File((blob), 'image.jpg', {type: blob.type});
            await navigator.share({files: (file)});
            window.alert('YES');

        } catch (error) {

            console.log(error.name, error.message);
            window.alert('NO - ' + error.name + ' - ' + error.message);

        };
    }

¿Hay alguna manera de hacer funcionar esto en Safari?

¿puedo conocer la posición del console cursor en c?

he encontrado la funcion setConsoleCursorPosition que me sirve para poner el puntero en un sitio determinado existe alguna manera de saber en que posición está el cursor de la consola. Esque lo que quiero es que se mueva dos casillas para atras pero creo que con la funcion anterior no se puede.

javascript – Como puedo mostrar una consulta seleccionando lo que quiero ver en la vista de la app en vue.js?

este es el dialogo que despliega el botón para seleccionar el mesero y el día
tengo mi consulta en el archivo orden.js, ya verificada en mysql de que es funcional, pero no encuentro la manera de poder hacer lo que necesito.
Este es un proyecto con el cual me eh estado desvelando varios días, soy MUY nuevo en desarollo web
De nuevo, mi objetivo es poder mostrar en una vista la información del SELECT

<v-dialog v-model="nl_dialog" max-width="500px">
            <v-card>
                <v-card-title>Consulta por mesero y fecha</v-card-title>
                <v-card-text>
                    <v-container>
                        <v-row>
                            <v-col cols='6'>
                                <v-select
                                    :items="meseros"
                                    v-model="buscar_orden.ord_mesero_id"
                                    label='Mesero'
                                >
                                </v-select>
                            </v-col>
                            <v-col cols='6'>
                               <v-menu
                                    v-model="menu1"
                                    :close-on-content-click="false"
                                    :nudge-right="40"
                                    transition="scale-transition"
                                    offset-y
                                    min-width="auto"
                                >
                                    <template v-slot:activator="{ on, attrs }">
                                        <v-text-field
                                            v-model="buscar_orden.ord_fecha_dia"
                                            label="Fecha"
                                            prepend-icon="far fa-calendar-alt"
                                            readonly
                                            v-bind="attrs"
                                            v-on="on"
                                        ></v-text-field>
                                    </template>
                                    <v-date-picker
                                    v-model="buscar_orden.ord_fecha_dia"
                                    @input="menu1 = false"
                                    ></v-date-picker>
                                </v-menu>
                            </v-col>
                        </v-row>
                    </v-container>
                </v-card-text>
                <v-card-actions>
                    <v-spacer></v-spacer>
                    <v-btn color='success' @click="buscar_mf(ord_mesero_id, ord_fecha_dia)"> Buscar</v-btn>
                    <v-btn color='error' @click="cancelar()"> Cancelar</v-btn>
                </v-card-actions>
            </v-card>
        </v-dialog>

¿Cómo puedo enviar información que contienen variables Javascript a php para después ingresrlas a una base de datos?

me estoy iniciando en el mundo del Frontend y como reto personal estoy realizando lo siguiente:

  • Estoy consumiendo los datos de una API publica(JsonPlaceholder) a través de fetch().

  • Esos datos los pinto en una tabla dinámica con el uso de HTML y Javascript.
    introducir la descripción de la imagen aquí

    Ahora me gustaría que estos datos los pudiera mandar a php para
    posteriormente ingresarlos en una base de datos

<body>
    <form action="pagina.php" method="POST" id="formulario">
        <div class="container mt-4 shadow-lg p-3 mb-5 bg-body rounded">
            <table class="table table-bordered table-striped">
                <thead class="text-center">
                    <th>ID</th>
                    <th>Name</th>
                    <th>Email</th>
                </thead>
                <tbody id="data">
                    <!-- Aquí se insertan los datos -->
                </tbody>
            </table>
            <center>
                <button type="submit" class="btn btn-outline-primary">Enviar</button>
            </center>
        </div>
    </form>
</body>

En la función sendData almaceno los datos que quiero mandar a php en las variables id, name, email se alamacenan para posteriormente trabajarlos.

//& Endpoint
var url = 'https://jsonplaceholder.typicode.com/users/'

//&Fetch GET
fetch(url, {
    method: 'GET'
})
    .then(Response => Response.json())
    .then(data => {
        showData(data)
        sendData(data)
    })
    .catch(error => console.error('Algo salió mal!!!' + error))

//& Funcion que muestra los datos en la tabla
const showData = (data) => {
    let body = '';
    for (let index = 0; index < data.length; index++) {
        body += `<tr>
                    <td class='iden'>${data(index).id}</td>
                    <td name="name">${data(index).name}</td>
                    <td name="email">${data(index).email}</td>
                </tr>`

        document.getElementById('data').innerHTML = body //*imprime los datos
    }//for
}//showData Function

//Aqui capturo los datos de la tabla
const sendData = (data) => {
    data.forEach(element => {
    //Datos a mandar a php
        const id = element.id
        const name = element.name
        const email = element.email
    })
}

¿Cómo puedo automatizar un script en python gratis?

Quiero que mi programa funcione siempre, estoy trabajando en un bot de respuestas automáticas. Y me gustaría que quede activo siempre, tengo incertidumbre si existe alguna base de datos gratuita para poder ejecutar programas y mantenerlos activos desde allí.

r – Como puedo sumar los datos similares en una tabla?

Necesito hacer una suma de los valores que tengo en una tabla.
contexto
Tengo una tabla bastante extensa (unos 98 mil datos) de la venta de articulos, por mes segun el año.

Quiero poder sumar los articulos totales vendidos en un año (o mes) y que me ofrezca una tabla con esos datos.
introducir la descripción de la imagen aquí

esto es una muestra de los datos,
Necesito obtener una tabla que sea

2006 1
2007 143
2008 15
2009 30
2010 11

Como puedo cambiar el efecto de transicion del carrusel de bootstrap

Tengo un carrussel funcional con imágenes de bootstrap pero me gustaria cambiar la animación cuando pasa de un slide a otro con un efecto difuminadointroducir el código aquí.

javascript – Como puedo tener varios videos y controlarlos todos por un solo boton?

estoy creando un slider que funciona con videos, la funcionalidad que tiene este es que no puedes saltar al siguiente video hasta que te termines el que estas viendo, pero, este slider cuenta con botón de play, pause y mute, cada vez que el video cambia, si le doy a play se reproducen todos, quiero hacer que los controles solo apliquen al video que se esta presentando, y también me gustaría que me ayudaran con una función, que es que si no estas viendo el video, o no esta activo en pantalla, este se pause y se devuelva al time 0, tiene solo un botón de navegar, y es el de retroceder, estoy intentando que al retroceder el video que estaba viendo se reiniciara y se comenzara a reproducir el de la pagina anterior, pero igual no me funciona, aquí dejo el código:

$(document).ready(function(){
var imgItems = $('.item').length; // NUMERO DE SLIDES
var imgPos = 1;

var owl = $('.owl-carousel');
// Temporizador
var owlTimer;
owl.owlCarousel({
    loop: false,
    autoplay: false,
    items: 1,
    dots: false,
    animateOut: 'fadeOut',
    nav: true,
    startPosition: 0
    
});

// Aplicar tiempo a cada elemento
function sliderTimeout(index) {
    // Establecer índice actual
    owl.currentIndex = index;
    // Eliminar temporizador actual
    clearTimeout(owlTimer);
    // Obtener elemento actual por índice, jQuery inicia con cero, por eso el -1
    let current = $('.owl-carousel .item').eq(index - 1);
    // Solo si no es el último elemento
    if(index < imgItems) {
        // Definir tiempo por defecto para todos los elementos
        let time = 3000;
        // Aquí puedes analizar el contenido del elemento actual
        // Para elegir audio y duración, cambiando el tiempo de espera
        // Por ejemplo: dar el doble de tiempo para el segundo elemento
        if(index == 1) {
            time = 360000;
            myAudio.play();
                // Reactivar temporizador
            $('.play').on('click', function() {
                // Reanudar reproducción con el índice guardado previamente
                sliderTimeout(owl.currentIndex);
                myAudio.play();
            });
            // Pausar reproducción
            $('.stop').on('click', function() {
                // Solo es necesario cancelar el temporizador
                clearTimeout(owlTimer);
                myAudio.pause();
            });
        }
        if(index == 2) {
            time = 60000;
            // Reactivar temporizador
            $('.play').on('click', function() {
                // Reanudar reproducción con el índice guardado previamente
                sliderTimeout(owl.currentIndex);
                myAudio2.play();
            });
            // Pausar reproducción
            $('.stop').on('click', function() {
                // Solo es necesario cancelar el temporizador
                clearTimeout(owlTimer);
                myAudio2.pause();
            });
        }
        if(index == 3) {
            time = 60000;

        }
        if(index == 4) {
            time = 60000;
        }
        owlTimer = setTimeout(function() {
            owl.trigger('next.owl.carousel');
        }, time);
    } else {
        // Es el último elemento, puede tener tiempo diferente
        setTimeout(function() {
            // Probablemente quieras usar otra función para terminar
            // Tal vez redirigir a otra página
        }, 5000);
    }
}
// Escuchar cambios
owl.on('changed.owl.carousel', function(e) {
    // El índice se obtiene desde el evento
    sliderTimeout(e.item.index);
});


// Iniciar reproducción
sliderTimeout(1);
owl.trigger('refresh.owl.carousel');

//Objeto con referencia a la etiqueta audio     
myAudio = document.getElementById("myAudio");
myAudio2 = document.getElementById("myAudio2");
myAudio3 = document.getElementById("myAudio3");
myAudio4 = document.getElementById("myAudio4");
myAudio5 = document.getElementById("myAudio5");
myAudio6 = document.getElementById("myAudio6");
myAudio7 = document.getElementById("myAudio7");
myAudio8 = document.getElementById("myAudio8");
myAudio9 = document.getElementById("myAudio9");
myAudio10 = document.getElementById("myAudio10");
myAudio11 = document.getElementById("myAudio11");
myAudio12 = document.getElementById("myAudio12");
myAudio13 = document.getElementById("myAudio13");

Como vieron anteriormente, intente que cuando pasara cada slider, también la funcionalidad de los botones también cambiara, pero estos adoptan ambas funcionalidades, las del slider anterior y la del nuevo, me quede sin ideas respecto a eso y me gustaría conocer su punto de vista al respecto.

¿Cómo puedo centrar en HTML?

Estoy intentando hacer una ficha en un foro de Harry Potter, pero no puedo centrar el contenido de la ficha, siempre me sale algo mal.

La ficha por default está alineada hacia la izquierda y lo único que me gustaría hacer es poder que esté en el centro y se vea bien en el foro.

<div style="text-align:center"><div style="text-align:justify"><table cellpadding="0" cellspacing="0">
<td><div style="width: 600px; height: 20px; background: #AFA78A; -webkit-filter: brightness(0.7) contrast(0.9) grayscale(0.4)"></div><div style="width: 600px; height: 280px; background: #C4BEA5; -webkit-filter: brightness(0.7) contrast(0.9) grayscale(0.4)"><table>
<td><div style="width: 350px; height: 250px; border: 1px solid #AFA78A; margin-top: 10px;"><div style="overflow: hidden; width: 330px; height: 230px; font-family: cambria; line-height: 10px; color: #111; margin-top: 8px"><div style="overflow-y: scroll; width: 338px; height: 220px; padding: 5px; font-size: 11px"><span style="font-family: calibri;font-size: 8px;letter-spacing:2px;text-transform:uppercase; color: #000;">Verano de 1986</span>

Eran las doce y treinta del mediodía y en la casa Clarke ya habían terminado de almorzar. Era temprano a comparación a la hora que solían hacerlo. El sol entraría por los cristales de las, ventanas iluminando todo el lugar. La madre de Percival, mientras él ayudaba a juntar la mesa, utilizaría un poco de magia para que los trastes se lavaran por sí solos.

— ¿Cómo te fue este año, Percival? — Le cuestionó su regreso al colegio. Desde que el joven león había decidido recursar su tercer año, la relación con su madre se había vuelto un poco más conflictiva y distante, no le había agradado para nada la idea de que su hijo se quedase ayudando en la granja en vez de ir a cumplir su deber de estudiante.

Percival, en cambio, prefirió mantener el ensordecedor silencio que poblaba últimamente en ese sector de la casa: la cocina. No tenía mucho que contar con respecto a su regreso a Hogwarts, pues era obvio que tendría nuevos compañeros, pero le parecía irrelevante hablarle de ellos. Mucho menos le explicaría el porqué de la gran cicatriz que tendría en su mejilla derecha, por lo que se limitó a contestarle, finalmente, un: — Normal… supongo.

La humilde casa de los Clarke siempre se caracterizó por la crianza de animales, desde gallinas y gallos hasta animales silvestres; todo tipo de criaturas que te pudieses imaginar. Al tener su propio espacio, y muy amplio, alcanzaba y sobraba para cuidarlos. Entre sus mascotas había una pequeña zorra que estuvo allí desde que Percival tiene memoria; su nombre es Geisha. Siempre se recostaba en el cojín viejo y descuidado de color azul, que estaba al lado de la agrietada silla en donde reposaba su gato, el Sr. Bigotes.

Entre el silencio, los ruidos de la porcelana chocar entre sí mientras se lavaba por sí sola y la incómoda mirada de su madre sobre él, pudo notar que, esta vez, Geisha no estaba sobre su cojín. — Mamá, ¿Viste a Geisha? — Le preguntó intrigado. Era raro que ella no estuviera allí. Si bien era un zorro, era bien perezoso como para dejar su cómodo y reconfortante lugar.

Inmediatamente, en equipo, comenzaron a buscarla. El padre de Percival, por más preocupado que esté ante la desconocida ubicación de Geisha, decidió seguir arreglando su tractor, ya que hacía varios meses intentándolo y parecía no funcionar.

Buscaron detrás del granero, debajo del gallinero, entre los árboles, cerca del estanque. No, no había rastros de ella. Percival poco a poco comenzó a preocuparse y preguntas tales como: ¿Se habrá muerto?, ¿Huyó?, ¿Se sentía sola?, comenzaron a invadir su mente hasta comerla por completo. Sus adoloridos gritos no fueron suficientes para traer a su zorra de vuelta, pero un quisquilloso sonido entre los arbustos detrás de su casa, en donde habría un camino oculto, le llamó su atención.

Encontró a Geisha entre las ramas y hojas secas. Estaba recostada en forma fetal, con su lengua afuera, sus orejas caídas, la mirada perdida y corporalmente débil. Un largo camino de sangre recorría su anaranjado pelaje hasta acabar en un pequeño charco en la tierra. Algunas manchas ya se habían secado. Esta catástrofe había sido provocada por un punzante dardo clavado entre dos costillas.

Furiosas lágrimas recorrieron las mejillas de Percival, pero eso no le impidió sacarle ese punzante objeto del cuerpo de Geisha y llevarla otra vez a su hogar para sanarla. Una vez allí, le limpió la herida y la vendó. Sus padres no estaban, dedujo que habían salido a buscar a la zorra sin saber que Percival fue el afortunado de hallarla.

Los días pasaron y Geisha no se movía de su lugar; aún estaba dolida. Percival, por su parte, siempre preocupado por ella, se convirtió en una especie de veterinario a domicilio. Durante semanas, se la pasó sentado al lado de su cojín. La alimentaba, le traía agua, a veces jugaban y otras veces hablaban. Como era obvio, Geisha poco a poquito comenzaba a recomponerse.

— Bien hecho, Percy… — Dijo su madre, acercándose a dónde su hijo con Geisha, ofreciéndole un vaso de un refrescante jugo de naranja expremido. — Quizás algún día seas un buen médico o veterinario. — Le sonrió. ¿Fue una tregua? No lo comprendía, pero sí entendió que su madre estaba contenta y conforme con sus responsables y maduras acciones.

“<i>Serás un buen médico o veterinario</i>”. Por días, ese pequeño fragmento, dicho por la dulce y melódica voz de su madre, le dio vueltas y vueltas alrededor de toda su cabeza. — ¿Qué hace un médico? — Pensó. A simple vista, parece una pregunta boba, pero ¿En realidad un médico sólo se dedica a salvar vidas? o ¿También se dedica a mejorarlas?

El simple hecho de pensar que podía ayudar, mejorar, tratar con personas que requieren de su ayuda, de sus saberes, de sus aprendizajes, le volaba su cabeza a mil por hora. Se imaginó en mil escenarios distintos vestido con una túnica blanca con, seguramente, mancha de café por lo descuidado que puede ser.

— Quizás no sea tan mala idea trabajar como sanador… — Susurró para él. </div></div></div>
<td><div style="font-family: lobster two; font-size: 30px; color: #AFA78A; text-shadow: 2.5px 0 5px #111; letter-spacing: 2px; line-height: 100%; text-align: center ; font-weight: bold; margin-left: 15px">El abanico de
posibilidades</div><div style="background: #AFA78A; margin-bottom:15px; width: 200px; height: 1px; margin-top: 20px; margin-left: 15px"></div><div style="font-family: arial black; font-size: 20px; color: #AFA78A; text-transform: uppercase; letter-spacing: 2px; line-height: 100%; text-align: center; font-weight: bold; margin-left: 15px">parte 1/3</div>

</table></div><div style="background: url(https://i.imgur.com/fnOfxtv.jpg);background-size: 100%;width: 600px; height: 150px; border-bottom: 20px solid #AFA78A; border-top: 20px solid #AFA78A; -webkit-filter: brightness(0.7) contrast(0.9) grayscale(0.4)"></div>

</table><div style="text-transform:uppercase; color: #f1f1f1; letter-spacing:2px; font-family:arial; font-size:7px; text-align:center;margin-top: 3px; ">© <b>Edited and created by Gwyneth (URL=?act=Profile&MID=10692710)(color=white)❖(/color)(/URL) - No remover créditos</b></div></div></div>