Running JavaScript code through CSS on Chrome, just like how it is done on Firefox and Internet Explorer

This specific inquiry (which points to this particular post) examines the execution of arbitrary JavaScript invoked from a CSS file through various workarounds in IE and Firefox, such as utilizing expression(). (A commenter noted that these techniques are referred to as XBL in Firefox and HTC in IE)

Is there a way to achieve the same functionality (running potentially harmful JS from CSS) in Chrome using only client-side code and native methods, without relying on external libraries?

Answer №1

In modern browsers, using JavaScript within CSS is not possible except through currently supported URL parameters like `background-image`, which can execute scripts if a `javascript:` URL is used.

While it was once possible to use `moz-binding` in Firefox 2 & 3, support for this feature was later dropped in future versions due to identified flaws being mitigated.

Since Internet Explorer 10, HTML Components have not been supported, making developing websites reliant on this technology pointless.

CSS Expressions are only supported in IE5/7 quirks/standards mode respectively.

If you're trying to create an exploit or fulfill a functional requirement with CSS, consider focusing on URL parameters or transitioning into JavaScript. You may also be able to manipulate the UI to deceive users into thinking injected site content is legitimate. However, if your goal is the latter, it's best to explore alternative methods instead of forcing CSS to enable script execution.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

My collection consists of objects arranged in this manner

let attributeSet = [{ "id": 1, "value": 11 }, { "id" : 1, "value": 12 }, { "id" : 1, "value" : 13 }, { "id": "2", "value& ...

Ways to properly link a webpage using the anchor tag's href attribute

I am currently working with reactjs and bootstrap, and I am trying to display and collapse an unordered list within a list item (nested unordered list). Bootstrap provides a useful collapse feature for this purpose. By using an anchor tag with a data-toggl ...

What are some ways to optimize Ajax requests for improved speed when multiple identical requests are made on a single webpage?

When the webpage is loaded, a block is dynamically created using an Ajax call to retrieve data from another page. This structure is then populated and added to a specific DOM element. However, multiple Ajax calls during page loads are causing delays. Is ...

What is the best way to select a specific element from an array list when hovering in React?

I recently pulled a list of movies from an API and used the Map method to display them. I am currently working on a feature where, upon hovering over a movie card, the trailer for that specific movie should play in place of the image. However, I'm enc ...

Fetching an item from Local Storage in Angular 8

In my local storage, I have some data stored in a unique format. When I try to retrieve the data using localStorage.getItem('id');, it returns undefined. The issue lies in the way the data is stored within localStorage - it's structured as a ...

Preserve the video's aspect ratio while adjusting the browser size

I am currently developing a video editing tool and facing a challenge in maintaining the aspect ratio of `16:9` when resizing the screen both horizontally and vertically. While I have successfully achieved the expected behavior for horizontal resizing and ...

Prevent the sidebar from collapsing or disappearing when the viewport is less than 768px in Bootstrap

Utilizing the Bootstrap classes side-nav and nav-sidebar, I have created a side navigation bar. However, there is an issue - when the viewport is less than 768px, the side navigation bar disappears. Below is the snippet of my HTML code: <ul class="nav ...

What steps should I take to retrieve a value from a Headless-UI component?

I have integrated a Listbox component from Headless-UI in my React project. The Listbox is contained within its own React component, which I then include in a settings form. How can I extract the selected value from the Listbox component and save it to th ...

Personalizing the label of a select input using materialui

Working on customizing a select element using the "styled" method: const StyledSelect = styled(Select)` height: 2rem; color: #fff; border-color: #fff; & .${selectClasses.icon} { color: #fff; } & .${outlinedInputClasses.notchedOutl ...

choose the text following a specific section within the class attribute of an element

In my code, I am trying to extract a number from an input text element using the jQuery method find. The class name of the input text contains a variable number denoted as x, following the substring page-id. Here is the approach I have taken: var id = ui ...

Quickly align with vertices using threejs

As I delved into creating a snapping feature to align with my mesh vertices, I embarked on multiple trial-and-error solutions. One method involved introducing THREE.Sprite instances for each vertex in the scene and utilizing a rayCaster to determine if th ...

Guide on building a dynamic grid layout with dual sides?

https://i.sstatic.net/P95ad.png My current code is causing some issues and not displaying as desired. I have included a sample of my code below: <style> .red{ background-color: red; } </style> {% endblock stylesheets %} {% block co ...

Alter the uploaded picture and subsequently send the revised image through an HTML form

Currently, I am working on an HTML form that includes a file input for accepting images. My goal is to take the uploaded image from the user and make some modifications using JavaScript before submitting the modified version instead of the original one. I ...

Issue with displaying dates correctly when retrieving data from an external CSV using Highcharts (Highstock)

I have been struggling for several days to integrate Highstock with an external CSV file. Initially, the problem was that the imported data was sorted in "descending" order while Highcharts required it to be sorted in "ascending" order. After discovering a ...

Applying CSS classes to a custom AngularJS directive: A step-by-step guide

Need to have a CSS class called tab for the nav HTML element, which will be used as a directive: <nav tab></nav> The expected interpretation is: <nav class="tab"> <a></a> <a></a> <a></a> ...

Highlight the list-group item when it is clicked using React Bootstrap

I'm currently working on a project that involves two panels, each with a list group. This project is built using Bootstrap. Problem: When I click on the first list-group-item in panel 1, it changes to have the style "success". However, when I then c ...

Mobile devices do not support CSS3 transition functionality

I have a straightforward div setup that smoothly transitions upward when swiped up on the screen, functioning perfectly on my desktop. However, I am encountering difficulties getting the transition to work on my mobile device (also tested on an Android emu ...

Is there a way to completely remove an element from the dom once the ajax call has returned

I've been struggling to completely remove LI elements and their content, including the checkbox input, from the DOM without success. After an ajax callback, I am calling the following function, but it only removes the contents and not the element its ...

Incorporate Three.JS into Meteor for enhanced functionality

Currently, I am experimenting with integrating Meteor and Three.JS. The specific meteorite package for Three.JS that I am utilizing can be found here: https://github.com/nozpheratu/three-meteor. Despite being able to perform basic functions in Three.JS, I ...

Encountering a Mongoose issue while attempting to load model files from a separate Mean.js project using the require function

I am currently working on a Mean.js project and in the process of familiarizing myself with this environment. To conduct some experiments, I created a parallel project for testing purposes in a separate folder where I am not using the Mean.js framework but ...